本人在c#.net中建立了个windows应用程序。现在要用他连接个ORACLE总不太成功。
有高手能写个能用的给我吗?我发下我写的大家指正下。
private void Form1_Load(object sender, System.EventArgs e)
{ try
{
string ConnectionString="User ID=sang;Data Source='oracle_10.40.18.24';Password=sang;";//写连接串
OracleConnection conn=new oracleConnection(ConnectionString);
//connection = new OracleConnection("User ID=sang;Data Source='oracle_10.40.18.24';Password=sang;"); //Provider="MSDAORA.1";User ID=sang;Data Source="oracle_10.40.18.24";Password=sang
//写连接串
//OracleDataAdapter dataAdapter = new OracleDataAdapter("select * from TEXT",connection);
//创建一个新连接 conn.Open(); OracleCommand cmd = conn.CreateCommand();
cmd.CommandText="select * from TEXT"; 
//在这儿写sql语句
OracleDataReader odr=cmd.ExecuteReader(); 
//创建一个OracleDateReader对象
//
// this.comboBox1.DataSource = odr;
// this.comboBox1.DisplayMember = "guojia";
// this.comboBox1.ValueMember = "guojia";
//// this.comboBox1.DataBindings;
//
// while(odr.Read())
// //读取数据,如果odr.Read()返回为false的话,就说明到记录集的尾部了          
// {
// Response.Write(odr.GetOracleString(1).ToString());
// //输出字段1,这个数是字段索引
// }
odr.Close();
}
catch(Exception ex) 

MessageBox.Show("e"); }
finally
{
conn.Close(); //关闭连接
}
}

解决方案 »

  1.   

    到conn.Open();就跳到catch了.也不清楚什么错
      

  2.   


    catch(Exception ex) 

    MessageBox.Show(ex.Message);}
    把异常的内容贴出来啊
      

  3.   

    string _connectionString = "server=dbserver;user id=user;password=ppp;";
    OracleConnection conn = new OracleConnection(_connectionString);
    conn.Open();//上面是我常用的连接方式
      

  4.   

    报的错是System.Data.OracleClient.OracleException: ORA-00162: external dbid length 18 is greater than maximum (16)\n\r\n   at System.Data.OracleClient.DBObjectPool.GetObject(Object owningObject, Boolean& isInTransaction)\r\n   at System.Data.OracleClient.OracleConnectionPoolManager.GetPooledConnection(String encryptedConnectionString, OracleConnectionString options, OracleConnection owningObject, Boolean& isInTransaction)\r\n   at System.Data.OracleClient.OracleConnection.OpenInternal(OracleConnectionString parsedConnectionString, Object transact)\r\n   at System.Data.OracleClient.OracleConnection.Open()\r\n   at test.Form1.Form1_Load(Object sender, EventArgs e) in d:\\新建文件夹\\ss\\test\\test\\form1.cs:line 156
      

  5.   

    oracle_10.40.18.24
    external dbid length 18 is greater than maximum (16)--最大长度16位,你定义了18位
    --改称短点的名字测试一下
      

  6.   

    ORA-00162 external dbid length string is greater than maximum (string)  Cause: An external database name with too large a length field was passed in.  
    Action: Report the problem to your external transaction coordinator vendor.