首先从微软停止.Net FrameWork支持Oracle数据库的研发,转为第三方提供说起,微软是很有实力的公司,他在桌面领域令其他对手望其项背,产品战线也从桌面延伸到数据库服务器,集群服务器,但微软在企业方向的发展总是难以突破,我想着与他们太过商业化的企业理念有关吧.
下面是asp.net连接远程Oracle数据库服务器步骤:
1.asp.net连接oracle服务器需要添加Sytem.Data.OracleClient命名空间。
2.连接时需要ConnectionString字符串,出现在web.config文件中,如下所示:
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=你的数据库服务器ip)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=你的数据库实例名)));User ID=scott;Password=tiger;Unicode=True" providerName="System.Data.OracleClient"/>
</connectionStrings>
asp.net 连接oracle,报错误。“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本。
以前做过.net 连接oracle,那时候都是本机安装的oracle服务端,所以连接没有问题。这次就不行了,本机安装了,做的没啥问题,但是上传到服务器,就完蛋了,报错。
经过一天多的研究,我终于找到问题了,网上虽然有一系列这个问题,但是没有解决我这个问题的。
问题就是,asp.net连接oracle数据库需要安装一下驱动。
1,可以安装 一些oracle的服务端。
2,oracle提供了一个建议连接库,不用安装,配置一下就好了。名字是 :Instant Oracle
关于Instant Oracle的介绍请看http://www.oracle.com/technetwork/database/features/oci/index.html。
Instant Oracle的下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html。
选择操作系统,和oracle版本。下载的时候要注册的。 下载完之后,直接解压就可以,当然里边主要是一些dll文件。
安装Instant Oracle
其实不需要安装,解压就可以了,
解压后的instantclient_10_2
这里边有一些dll。主要的是:
- OCI Instant Client Data Shared Library
-
- oraociei10.dll (Basic version)
- Client Code Library
-
- oci.dll
- Security Library
-
- orannzsbb10.dll
- OCCI Library
-
- oraocci10.dll
然后,在配置一下环境变量。
系统变量:在Path中,加入,你的 这些dll的路径;
用户变量:加一个ORACLE_HOME,也是这个路径;
然后,重启一下机器。就OK了。
这样的话,就不用安装oracle,就可以连接远程服务器上的oracle数据库了。