ODP.net 安装及连接

ODP.net 是Oracle提供的.net链接组件,或许也可以叫做ODBC 网上搜索这两个词,可以在Oracle官方下载


安装ODP.net 有点差异,主要是32位和64位

32位的ODP.net有直接的安装包,可以一步一步安提示安装

64位的基本要写命令行

博主下载的是 ODAC112040Xcopy_64bit.zip

解压到D:\ODAC112040Xcopy_64bit

然后要用管理员的身份启动 cmd       如果不是管理员会爆异常安装不了。

转换到目录 D:\ODAC112040Xcopy_64bit   执行 install.bat all c:\odp.net myhome (install all components)   这步是安装

这里的c:\odp.net 就是你要安装的目录

接下来转到安装目录 c:\odp.net 执行 configure.bat all myhome (configure all component)

大致的意识就是说注册到vs里面

检查安装是否成功

检测本机GAC中是否有Oracle.DataAccess程序集并查看版本的方法如下:
在vs.net命名行窗口下,输入 gacutil.exe /l Oracle.DataAccess

这个就是博主安装的版本。在vs里就可以添加相应的引用了。

最后不要忘记添加环境变量 因为你可能用到的不止这么一个dll也许还有其他dll当然网上有很多文章写到6个dll
这里没时间去测试,所有用了懒人的办法,直接添加环境变量

主要是两个。这个PATH的环境变量可以去网上了解下,大致的意识就是说,你执行程序的时候他会在这些目录下去找dll,和把dll放到bin下面是一个道理。

参考:http://www.cnblogs.com/yjmyzz/archive/2011/04/19/2020793.html

到这一步基本上就是安装成功了。下面开始讲解开发。主要说明64位

先说下博主的开发环境。

安装环境不同,配置上有很大的差异

安装了Oracle  (查看Oracle版本方法 select * from v$version;  )


注意64位,因为这里有一个不变的道理,

1.64位的电脑用64位的Oracle(我用的Win8.1 64位)  这个估计没有强制要求,或许如果是32位可能莫名其名报错。曾经在64位windows 2008上安装32为Sql server后莫名其妙服务就无法启动。

2.64为的Oralce 就要用64位的ODBC(ODP.net) 。这个也有待确定,因为我之前记得安装过32位的ODP.net也能访问。

3 如果你上面都是64位那么你的.net程序一定要是64位,这个进过不断测试是一定的。32位下报的错误如下


可能由于浏览器大多是32位的,对调试照成很大困难,多以后来就研究了IIS下启动调试的方法。方法在下片中介绍。

这里的IIS也要是64位的才行,因为博主没有64位的浏览器,所以这里可能和大家有点不一样。

IIS的64位是在应用程序池中设置的。启用32位应用程序为True就是32为,这里选False



如此这样是主要的环境情况


VS用的是VS2013 .net 4.5.1


如果以上都配置正确,那么还链接不上,请相信是你程序的问题(链接字符串)

最后附上博主的代码异常简单

新建了一个webform空项目

在页面上添加 

<asp:Label id="label1" Font-Size="28px" Font-Bold="True" runat="server" />
用来显示结果

在后台添加

    OracleConnection conn = new OracleConnection();
            try
            {
                //conn.ConnectionString = ConfigurationManager.ConnectionStrings["oradb"].ConnectionString;
                conn.ConnectionString = @"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(sid =orcl)));User Id=system;Password=abc123";
                conn.Open();
                string sql = " select MenuName from menu where MID=12"; // C#
                OracleCommand cmd = new OracleCommand(sql, conn);
                cmd.CommandType = CommandType.Text;

                OracleDataReader dr = cmd.ExecuteReader(); // C#
                List<string> contents = new List<string>();
                while (dr.Read())
                {
                    label1.Text = dr["menuName"].ToString();
                }


            }
            catch (Exception ex)
            {
                label1.Text = ex.ToString();
            }
            finally
            {
                conn.Clone();
            }

就是完整的读取例子,其他功能有待大家开发。




评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值