c#访问oracle问题 用ole能连oracle,用System.Data.OracleClient.dll方法就不行,老报需要817版客户端或更高版本,我机器是xp的,装了oracle10g的客户端,也装了oracle_net.msi 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 恐怕是你自己哪里写错了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的客户端吧 下面是我的代码:需要提示的是:我单独新建一个测试方案,里面就一个连接项目能连上,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);} 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读写权限即可。 我的不是webform程序,是winform程序 求助,Socket编程 接收UDP广播错误 xml 文件 不能放在除C盘的别的盘 C#中怎么实现像VS2008的工具箱一样浮动 是一个网站有中文和英文两个域名,该网站在中文状态下,seesion和cookie都失效 c#windows应用中有没有Dropdownlistbox,即DDLB这个控件? winform开发 一个很奇怪的现象 有没有用VB6的,讨论一下溢出问题,很有意思,同样的问题跟c#对比一下. 把数据导出到csv文件,格式化的问题 -----【关于dll引用的问题】------ C#入门问题 C# 如何调用嵌入DLL 求C#实现的UDP文件传输的例子!
string connectionString = "Data Source=Oracle8i;Integrated Security=yes";
using (OracleConnection connection = new OracleConnection(connectionString))
{
connection.Open();
Console.WriteLine("ServerVersion: " + connection.ServerVersion
+ "\nDataSource: " + connection.DataSource);
}
装8.1.7的客户端吧
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);
}
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;