2010-12-14 7 views
1

私はoracle DBAから以下の情報を得て、.netアプリケーションからoracleに接続したいと考えています。私はちょうどWindows/.net用のOracleツール/ドライバのインストールを完了しました。そして今、彼はoracle DBに接続し、SQLサーバーにOracleからデータを抽出するコンソールアプリケーションを取得したいと思っています。私は持っている情報でoracleにどのように接続しますか?

別の解決策は、バグ表のすべてのレコードをSQLサーバーからoracleにプルすることです。私は...

ORACLE SQLのユーザー名は「USER_dev」SO達人に回す前にどのようなOracle接続文字列があり、システムDSNを作成しようとしましたが、それに失敗した手掛かりをされていない、 パスワードです'ようこそ'。

接続文字列は ある「JDBC:水銀:オラクル://qct-ds2-p.apps.com:1139; SID = QCTRP1」

+0

私はそれが本当のパスワードではないことを願っています.... – RedFilter

+0

データのすべての部分が変更されています。情報は手元に残っていた。 – kacalapy

答えて

0

は、あなたのORACLE_HOME \ network \ adminディレクトリに移動。既に存在しない場合は、tnsnames.oraという名前のファイルを作成します。それにこれを追加します。

QCTRP1.WORLD = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = qct-ds2-p.apps.com)(PORT = 1139)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = QCTRP1) 
    ) 
) 

私はここにいくつかの仮定を作ってるんだ...

が解決qct-ds2-p.apps.comていますか? は、DBAがポート1139のリスナを設定したようです...デフォルトは通常1521ですので、確認する必要があります。次のように

あなたは、接続文字列を設定することができます。

Connection conn = DriverManager.getConnection 
    ("jdbc:oracle:oci8:@QCTRP1.WORLD", "dev", "welcome"); 
+0

ORACLE_HOME \ network \ adminディレクトリが見つかりませんか? – kacalapy

+0

@kacalapy oracle_homeは、Oracleがインストールされているディレクトリです。 – Sathya

+0

が見つかりました。ファイルにtxtを追加しました。それを得ることができません。"select * from BUG"を実行し、データセットにデータを埋め込むためのネットコード。助けてください。 – kacalapy

0

を、今あなたが@erbsockから作成TNSNAMESを持っていることを、あなたは作業 物事の.NET側を取得する必要があります。 Oracleには、この問題を解決するためのチュートリアルがいくつか用意されています。あなたはOracle ODP(リンクであなたが表示されますサンプルだけでなく、ダウンロード)ドライバをインストール

ご意志 %ORACLE_HOME%\ odp.net \サンプル\ 4 \のDataSet \ DSPopulate \ SRCで作成したディレクトリを取得します (これは@ http://www.oracle.com/technology/sample_code/tech/windows/odpnet/DSPopulate/ViewProducts.cs.htmlと同じ例です)

最初のテストでは、id/passwrd/sql/etcを変更して試してみることをお勧めします。

System.Dataを使用するのと根本的に異なるわけではありません。いくつかの不具合があり、それぞれのコンピュータでora接続を使用するためにODP/Oracleクライアントがインストールされている必要があることを覚えておいてください。何か問題がある場合は

は、表示された正確なエラーMSGと同様に接続を確立し、あなたの.NETコードのスニペットを投稿するクエリを実行し、そしてどこで

1

を壊している私はラッキーだといすべての.netにあり、接続文字列を使用してこの構文以外の何も必要としない単純なソリューションです。すべての.oraのものは接続文字列に表示され、うまく動作します。

static void getData() 
     { 
      string connectionString = GetConnectionString(); 
      using (OracleConnection connection = new OracleConnection()) 
      { 
       connection.ConnectionString = connectionString; 
       connection.Open(); 
       //Console.WriteLine("State: {0}", connection.State); 
       //Console.WriteLine("ConnectionString: {0}", connection.ConnectionString); 

       OracleCommand command = connection.CreateCommand(); 
       string sql = "SELECT * FROM BUG"; 
       //string sql = "SELECT table_name FROM user_tables"; 
       command.CommandText = sql; 

       OracleDataReader reader = command.ExecuteReader(); 
       while (reader.Read()) 
       { 
        //string myField = (string)reader["Project"]; 
        string myField = (string)reader[0]; 
        Console.WriteLine(myField); 
       } 
      } 

     } 

     static private string GetConnectionString() 
     { 
      return "User Id=USER_dev;Password=welcome;Data Source=(DESCRIPTION=" + 
        "(ADDRESS=(PROTOCOL=TCP)(HOST=111.123.479.24)(PORT=1139))" + 
        "(CONNECT_DATA=(SID=QCTRP1)));"; 

     } 
関連する問題