[.NET] C#连接Oracle数据库方法
本文展示如何在.NET中创建到Oracle数据库的连接。
一、配置连接字符串
在webconfig中配置连接字符串
<connectionStrings> <add name="OracleDatabase" connectionString="Data Source=192.1.1.33;User ID=Raymond;Password=123456;Load Balance Timeout=1000" providerName="System.Data.OracleClient"/>
</connectionStrings>
其中192.1.1.33是IP地址
二、测试连接
我这里是用的企业库,直接用System.Data.OracleClient命名空间下的OracleConnection类也可以的:
Database db = DatabaseFactory.CreateDatabase(this.DBConnString); DbCommand command = db.GetStoredProcCommand(this.ProcedureName);
DBConnString是连接字符串对应webconfig中的配置
这个时候我们会遇到一个错误:
system.data.oracleclient 需要 oracle 客户端软件 8.1.7 或更高版本
由于我测试的服务器上并没有安装Oracle服务器端工具,所以就出现了这个问题,解决办法安装oracle客户端工具到服务器上,于是我安装了Oracle Instant Client — 用于连接 Oracle 数据库的免费工具和库 | Oracle 中国 到服务器上。
这个时候再次运行还是出错,错误信息和这个一样,重启IIS(cmd iisreset
)后就生效了,现在变成了另外的错误:
监听进程不能解析在连接描述符中给出的 Service Name
出现这个错误的原因是没有配置好
这个时候还需要在Oracle客户端配置下,我安装在d盘下的
d:\oracle\ora90\network\admin\tnsnames.ora
用记事本打开这个文件,修改:
在其中添加
192.1.1.33 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.33)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = sname) ) )
其中sname
是服务名这个要对应host是oracle服务器的IP地址。这样代码就可以正常运行了。
另外提醒一下,如果没有配置好,还会出现下面类似的错误:
无法处理服务名 等
info Last modified by Raymond 3 years ago
copyright
This page is subject to Site terms.
comment Comments
No comments yet.