2017-09-08 7 views
0

ユーザー名、パスワード、ポート番号、サービスIDおよびホスト名を指定して、リモートoracleデータベースにログインしようとしています。C#サービスIDを使用してOracleデータベースにアクセス

private void button1_Click(object sender, EventArgs e) 

     { 
      connectionString = "Data Source = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.72.90)(PORT = 1521))) " + 
      " (CONNECT_DATA = (SERVER = SHARED) (SID = XE))" + 
     "); User Id =" + uname.Text + "; password=" + pword.Text; 


      OracleConnection con = new OracleConnection(); 
      con.ConnectionString = connectionString; 
      con.Open(); 
      OracleCommand cmd = new OracleCommand(); 
      cmd.CommandText = "Select DEFINITION_ID from ATS_AME_DEFS"; 
      cmd.Connection = con; 
      OracleDataReader dr = cmd.ExecuteReader(); 
      dr.Read(); 
      label1.Text = dr.GetString(0); 
     } 

私はプログラムを実行すると、私はエラーを取得する時「タイプの未処理の例外が 『Oracle.DataAccess.Client.OracleException』 Oracle.DataAccess.dllに発生しました」「con.Open();」

サービス名を(SERVICE_NAME = ora12c)と置き換えてサービスID(SID = XE)を置き換えると、データベースにアクセスできます。どうすれば修正できますか?

答えて

1

Oracle接続マネージャーは、SIDをサポートしていません。サービス名のみをサポートしています。

+0

Thanx!サービスIDのサポートを受けるにはどうすればよいですか? –

関連する問題