使用System.Data.OracleClient.dll
WebConfig里配置:<add name="TestDB" connectionString="User ID=scott;Password=test123;Data Source=myConn" />
Oracle服务器在另一台机器上,我在本机装了Oracle客户端,配置了ODBC
类代码里调用数据库:
public static OracleConnection conn(string ConnString)
{
OracleConnection db = new OracleConnection(ConfigurationManager.ConnectionStrings[ConnString].ConnectionString);
return db;
}
执行连接的时候出现错误:OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用。
求命啊,各位大虾
WebConfig里配置:<add name="TestDB" connectionString="User ID=scott;Password=test123;Data Source=myConn" />
Oracle服务器在另一台机器上,我在本机装了Oracle客户端,配置了ODBC
类代码里调用数据库:
public static OracleConnection conn(string ConnString)
{
OracleConnection db = new OracleConnection(ConfigurationManager.ConnectionStrings[ConnString].ConnectionString);
return db;
}
执行连接的时候出现错误:OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用。
求命啊,各位大虾
1、控制面板->管理工具->数据源(ODBC)->添加数据源->选择oracle 客户端
Data Source Name 可以任意起名,推荐和SID一样
Description 描述
TNS Service Name 下拉菜单中会自动显示环境变量TNS_ADMIN所指目录下的tnsnames.ora文件中SERVICE_NAME的名称,也就是要连接的SID UserID 用户名
2、代码
string ConnectionString = "Data Source=orcl; User Id=SCOTT; Password=scott"; //连接字符串
OracleConnection conn = new OracleConnection(ConnectionString); //创建一个新连接 try
{
conn.Open(); //打开连接
OracleCommand cmd = conn.CreateCommand(); cmd.CommandText = "select * from emp"; //SQL语句
OracleDataReader rs = cmd.ExecuteReader(); while (rs.Read()) //读取数据,如果rs.Read()返回为false的话,就说明到记录集的尾部了
{
MessageBox.Show(rs.GetString(1));
} rs.Close();
} catch (Exception e)
{
MessageBox.Show(e.Message);
}
finally
{
conn.Close();
}
另外如果你的oracle是92i版的话对.net还有个不太爽的地方,需要你在oracle client端的安装目录里加入一个权限.
还有楼主为什么一定要走odbc呢?
2.检查连接字符串,好像使用的是ODBC的连接字符串
3. OracleConnection这个对象是ODBC的连接对象么?看着像是专用连接对象。
打开在IIS中的WEB属性--主目录--执行权限【改为-脚本和可执行文件】;
网上有连接Oracle的例子
我在本机装有Oracle Client,是不是要在服务器端配置下Net服务呢?又或者本地Oracle Client装好后需要改动配置文件??