.net4.0中使用ODP.net访问Oracle数据库(无需安装oracle客户端部署方法) |
您所在的位置:网站首页 › net40拒绝访问 › .net4.0中使用ODP.net访问Oracle数据库(无需安装oracle客户端部署方法) |
1、在没有安装oracle客户端的设备上也能访问服务器上的oracle (通俗的讲就是:开发的应用程序 和 oracle数据库服务器分别在两台电脑上)2、不需要配置TnsNames.Ora文件 开发环境 : 操作系统:win10 开发工具:VS2010 运行环境:.net 4.0 首先要下载odp.net文件,可以在这个页面下载Oracle Data Access Components (ODAC) Downloads (http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html), 我下载的是ODAC 11.2 Release 4 and Oracle Developer Tools for Visual Studio (11.2.0.3.0)这个版本。 ODTwithODAC112030.zip 221 MB (231,828,322 bytes) 下载完成之后先用winrar解压,不用安装。 然后,在ODTwithODAC112030文件夹找
第一个路径: ODTwithODAC112030\stage\Components\oracle.ntoledb.odp_net_2\11.2.0.3.0\1\DataFiles\ 找到 filegroup2.jar 文件, 用winrar解压 filegroup2.jar , 解压后 ODTwithODAC112030\stage\Components\oracle.ntoledb.odp_net_2\11.2.0.3.0\1\DataFiles\filegroup2\odp.net\bin\4\ 目录中找到 Oracle.DataAccess.dll
第二个路径:ODTwithODAC112030\stage\Components\oracle.ntoledb.odp_net_2\11.2.0.3.0\1\DataFiles\ 找到 filegroup16.jar 文件, 用winrar解压 filegroup16.jar , 解压后 ODTwithODAC112030\stage\Components\oracle.ntoledb.odp_net_2\11.2.0.3.0\1\DataFiles\filegroup16\bin\ 目录中找到 OraOps11w.dll
第三个路径:ODTwithODAC112030\stage\Components\oracle.rdbms.rsf.ic\11.2.0.3.0\1\DataFiles 找到 filegroup2.jar 文件, 用winrar解压 filegroup2.jar, 解压后 ODTwithODAC112030\stage\Components\oracle.rdbms.rsf.ic\11.2.0.3.0\1\DataFiles\filegroup2\bin 目录中找到 oci.dll.dbl 和 ociw32.dll.dbl ,去掉 .dbl 文件就变成了oci.dll 和 ociw32.dll
第四个路径:ODTwithODAC112030\stage\Components\oracle.rdbms.rsf.ic\11.2.0.3.0\1\DataFiles 找到 filegroup3.jar 文件, 用winrar解压 filegroup3.jar, 解压后 ODTwithODAC112030\stage\Components\oracle.rdbms.rsf.ic\11.2.0.3.0\1\DataFiles\filegroup3\bin 目录中找到 oraocci11.dll
第五个路径:ODTwithODAC112030\stage\Components\oracle.rdbms.ic\11.2.0.3.0\1\DataFiles 找到 filegroup4.jar 文件, 用winrar解压 filegroup4.jar, 解压后 ODTwithODAC112030\stage\Components\oracle.rdbms.ic\11.2.0.3.0\1\DataFiles\filegroup4\instantclient\light 目录中找到 oraociicus11.dll
第六个路径:ODTwithODAC112030\stage\Components\oracle.ldap.rsf.ic\11.2.0.3.0\1\DataFiles 找到 filegroup1.jar 文件, 用winrar解压 filegroup1.jar, 解压后 ODTwithODAC112030\stage\Components\oracle.ldap.rsf.ic\11.2.0.3.0\1\DataFiles\filegroup1\bin 目录中找到 orannzsbb11.dll
如何报下面的错误: ORA-12737: Instant Client Light: unsupported server character set %s是因为缺少 oraociei11.dll 这个动态链接库。 第七个路径:ODTwithODAC112030\stage\Components\oracle.rdbms.ic\11.2.0.3.0\1\DataFiles 找到 filegroup3.jar 文件, 用winrar解压 filegroup3.jar, 解压后 ODTwithODAC112030\stage\Components\oracle.rdbms.ic\11.2.0.3.0\1\DataFiles\filegroup3\instantclient 目录中找到 oraociei11.dll
最后把这些动态链接库 Oracle.DataAccess.dll OraOps11w.dll oci.dll ociw32.dll oraocci11.dll oraociicus11.dll orannzsbb11.dll oraociei11.dll 复制到项目中,C/S架构的要与exe一个文件夹,B/S架构的有专门的bin目录。 我将这些动态链接库放在压缩包里供大家下载 odp_net_client_dll.part1.rar odp_net_client_dll.part2.rar 因为 oraociei11.dll 文件100多兆,无法上传。 用VS2010(C#)新建一个项目(选择.net framework 4.0) ,添加引用Oracle.DataAccess.dll 编码如下: using Oracle.DataAccess.Client;
string connstring = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.123)(PORT=1521))" + "(CONNECT_DATA=(SID=xe)));User Id=system;Password=test963;"; using (OracleConnection conn = new OracleConnection(connstring)) { conn.Open(); string sql = "select * from cd_subject"; using (OracleCommand comm = new OracleCommand(sql, conn)) { using (OracleDataReader rdr = comm.ExecuteReader()) { DataTable dt = new DataTable(); dt.Load(rdr); dataGridView1.DataSource = dt; dataGridView1.Refresh(); } } conn.Close(); }
实测环境 操作系统:winxp 运行环境:.net4.0 测试了简单的SQL语句 结果:可以正常访问服务器上的oracle数据库。
参考:http://www.cnblogs.com/netuml/archive/2013/02/28/2936642.html
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |