[.NET] C#连接Oracle数据库方法
more_vert
本文展示如何在.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 10 months ago
copyright
This page is subject to Site terms.
comment Comments
No comments yet.
Log in with external accounts
warning Please login first to view stats information.