C#通过Oracle提供的Oracle.DataAccess.dll直接连接数据库出错
Win764位,dll为Oracle11G64位,代码如下:usingOracle.DataAccess.Client;namespaceNoClient{publicp...
Win7 64位,dll为Oracle11G 64位,代码如下:
using Oracle.DataAccess.Client;
namespace NoClient{ public partial class Form1 : Form { public Form1() { InitializeComponent(); string connstr = "Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.102)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = TESTDB)));User Id=TEST;Password=123;"; DataSet ds = new DataSet(); OracleConnection conn = new OracleConnection(connstr); string sSql = "select * from TEST.MY_emp"; try { conn.Open(); OracleCommand cmd = new OracleCommand(sSql, conn); OracleDataAdapter adpt = new OracleDataAdapter(cmd); adpt.Fill(ds); } catch (Exception e) { string str = e.ToString(); } finally { conn.Close(); }
if (ds.Tables.Count != 0 && ds.Tables[0].Rows.Count != 0) { empDataDGV.DataSource = ds; } }
在执行到conn.Open()的时候抛出异常:
Oracle.DataAccess.Client.OracleException 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck) 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src) 在 Oracle.DataAccess.Client.OracleConnection.Open() 在 NoClient.Form1..ctor() 位置 F:\my_design\NoClient\NoClient\Form1.cs:行号 24
Debug目录下有:
用Toad通过Client是可以连上数据库的,connstr就是从tnsnames.ora拿出来的。
哪位大神知道问题出在哪里?感激不尽! 展开
using Oracle.DataAccess.Client;
namespace NoClient{ public partial class Form1 : Form { public Form1() { InitializeComponent(); string connstr = "Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.102)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = TESTDB)));User Id=TEST;Password=123;"; DataSet ds = new DataSet(); OracleConnection conn = new OracleConnection(connstr); string sSql = "select * from TEST.MY_emp"; try { conn.Open(); OracleCommand cmd = new OracleCommand(sSql, conn); OracleDataAdapter adpt = new OracleDataAdapter(cmd); adpt.Fill(ds); } catch (Exception e) { string str = e.ToString(); } finally { conn.Close(); }
if (ds.Tables.Count != 0 && ds.Tables[0].Rows.Count != 0) { empDataDGV.DataSource = ds; } }
在执行到conn.Open()的时候抛出异常:
Oracle.DataAccess.Client.OracleException 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck) 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src) 在 Oracle.DataAccess.Client.OracleConnection.Open() 在 NoClient.Form1..ctor() 位置 F:\my_design\NoClient\NoClient\Form1.cs:行号 24
Debug目录下有:
用Toad通过Client是可以连上数据库的,connstr就是从tnsnames.ora拿出来的。
哪位大神知道问题出在哪里?感激不尽! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |