查了一天的资料,最终实现Windows 2008 R2(64位)+VS2010+ASP.net远程连接Oracle服务器(64位)。
总结一下:
1,只需要安装从Oracle官网下载的32位的oracle客户端,选第一个选项安装即可,解压的oracle客户端没有测试。原因是32位应用程序会调用Oracle32位的组件去访问oracle数据库,不管oralce服务器是什么版本的。
2,用VS2010发布网站,默认发布的网站是支持32位的运行模式的。如果是手动创建的IIS网站需要在应用程序池中设置“启用32位运行模式为true”。
3,连接字符串:
string constring = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.131.43) (PORT=1521))) (CONNECT_DATA=(SERVICE_NAME=orcl)));Persist Security Info=True;User Id=sa_j; Password=sa_j";
OracleConnection conn = new OracleConnection(constring);//进行连接
try
{
conn.Open();//打开指定的连接
OracleCommand com = conn.CreateCommand();
com.CommandText = "select count(*) from gh_jmis.V_SELECT_CONTRACT";//写好想执行的Sql语句
OracleDataReader odr = com.ExecuteReader();
while (odr.Read())//读取数据,如果返回为false的话,就说明到记录集的尾部了
{
TextBox1.Text = odr.GetInt32(0).ToString(); }
odr.Close();//关闭reader.这是一定要写的
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);//如果发生异常,则提示出错
}
finally
{
conn.Close();//关闭打开的连接
}