c#访问oracle问题
用ole能连oracle,用System.Data.OracleClient.dll方法就不行,老报需要817版客户端或更高版本,我机器是xp的,装了oracle10g的客户端,也装了oracle_net.msi
------解决方案--------------------把连接的代码贴出来。
------解决方案--------------------恐怕是你自己哪里写错了
string connectionString = "Data Source=Oracle8i;Integrated Security=yes";
using (OracleConnection connection = new OracleConnection(connectionString))
{
connection.Open();
Console.WriteLine("ServerVersion: " + connection.ServerVersion
+ "\nDataSource: " + connection.DataSource);
}
------解决方案--------------------Integrated Security=yes =》 Integrated Security=true
装8.1.7的客户端吧
------解决方案-------------------- 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方法打开了
------解决方案--------------------对了 还要加上命名空间:
using System.Data;
using System.Data.OracleClient;
------解决方案--------------------是目录权限问题,把Oracle的安装目录加上Authenticated Users即可。
------解决方案--------------------是目录权限问题,把Oracle的安装目录加上Authenticated Users读写权限即可。