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里面
检查安装是否成功
参考: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();
}
就是完整的读取例子,其他功能有待大家开发。