c#访问oracle问题

chuifengde 2007-10-24 05:08:15
用ole能连oracle,用System.Data.OracleClient.dll方法就不行,老报需要817版客户端或更高版本,我机器是xp的,装了oracle10g的客户端,也装了oracle_net.msi
...全文
147 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mywisest 2007-10-25
  • 打赏
  • 举报
回复
是目录权限问题,把Oracle的安装目录加上Authenticated Users读写权限即可。
mywisest 2007-10-25
  • 打赏
  • 举报
回复
是目录权限问题,把Oracle的安装目录加上Authenticated Users即可。
huxussong 2007-10-25
  • 打赏
  • 举报
回复
对了 还要加上命名空间:
using System.Data;
using System.Data.OracleClient;
huxussong 2007-10-25
  • 打赏
  • 举报
回复
public System.Data.OracleClient.OracleConnection cnn;
public void Open()
{
cnn = new OracleConnection(System.Configuration.ConfigurationSettings.AppSettings["Oracle"]);
cnn.Open();
}
public void Close()
{
cnn.Close();
}
然后在webconfig里面加上
<appSettings>
<add key="oracle" value="Data Source=HXS;Persist Security Info=True;User ID=hxs;Password=hxs;Unicode=True"/>
</appSettings>
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=NASA;Persist Security Info=True;User ID=hxs;Password=hxs;Unicode=True" providerName="System.Data.OracleClient"/>
</connectionStrings>


就可以直接用open方法打开了
chuifengde 2007-10-25
  • 打赏
  • 举报
回复
下面是我的代码:需要提示的是:我单独新建一个测试方案,里面就一个连接项目能连上,vb用oraoledb.oracle也能连上
private OracleConnection m_oracleConn = null;

string strConn="Password=xxbb;User ID=xxbb;Data Source=ora817";
try
{
if(m_oracleConn == null)
m_oracleConn = new OracleConnection();
else
m_oracleConn.Close();
m_oracleConn.ConnectionString = strConn;

//连接到数据库
m_oracleConn.Open();
base.m_bolIsConnected =m_oracleConn.State == ConnectionState.Open;
base.m_strConnectionString = strConn;

//如果连接成功则返回真
return(m_oracleConn.State == ConnectionState.Open);
}
catch(Exception exc)
{
base.m_bolIsConnected = false;
throw new DatabaseException(exc.Message);
}
chuifengde 2007-10-25
  • 打赏
  • 举报
回复
我的不是webform程序,是winform程序
vlysses 2007-10-24
  • 打赏
  • 举报
回复
Integrated Security=yes =》 Integrated Security=true
装8.1.7的客户端吧
whslovexyp 2007-10-24
  • 打赏
  • 举报
回复
恐怕是你自己哪里写错了
string connectionString = "Data Source=Oracle8i;Integrated Security=yes";
using (OracleConnection connection = new OracleConnection(connectionString))
{
connection.Open();
Console.WriteLine("ServerVersion: " + connection.ServerVersion
+ "\nDataSource: " + connection.DataSource);
}
liuxum 2007-10-24
  • 打赏
  • 举报
回复
把连接的代码贴出来。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧