2011-01-28 18 views
0

タイトルによれば、オラクルのPro Cのデータベースにどのように接続すればよいですか? 私はOracleデータベースの接続を望んでいませんが、他のデータベースのために接続したいと思います。Pro * Cを使用してデータベースに接続するにはどうすればよいですか?

+0

SOへようこそ:

最初の記事を引用すると、簡略化されconnect文は次のようになります。私はあなたの質問を編集して、そこに2つの近い票があるので、答えが得られるようにしました。あなたが編集に満足していない場合は、それをロールバックして自分で作成してください。 –

+0

どのようなOracle以外のデータベースですか?それは同じマシン上で実行されているか、ネットワーク上で実行されていますか? –

+0

ネットワーク経由で実行されています – suvitha

答えて

3

あなたはあなたのCコードでexec sql connectステートメントを使用します。

EXEC SQL CONNECT :myUserId IDENTIFIED BY :myPassword AT :myDbName; 

EXEC SQL CONNECT :myUserId IDENTIFIED BY :myPassword; 

するOracle以外のデータベースに接続したい場合は、おそらくコマンドのatバージョンを使用する必要があります

を使用し、要求を他のDBMSに渡すことができるようにOracleでデータベースリンクを設定します。

DB2のようなDB2は、透過的なゲートウェイを提供します。このゲートウェイは、ODBCを経由することなくこの機能を提供します。どのDBMSをどのように設定するかは、どのDBMSを設定するかによって異なります。

1

hereと詳細にはhereというドキュメントから、CONNECTステートメントをコードに直接埋め込むことができるようです。こんにちは、

EXEC SQL CONNECT { :user IDENTIFIED BY :oldpswd | :usr_psw } 
    [[ AT { dbname | :host_variable }] USING :connect_string ] 
     [ {ALTER AUTHORIZATION :newpswd | IN { SYSDBA | SYSOPER } MODE} ] ; 
+0

は、その接続ステートメントのフィールドをエクスパルできますか?確かに – suvitha

+0

。ホスト変数を使用した簡単な接続方法については、paxdiabloの答えを参照してください。上記の構文は、より多くの情報を提供します。たとえば、 'AT dbname'を指定することによってデフォルト以外のデータベースに接続できます。dbnameは、Oracleによってデータベースに与えられた識別子です。操作中(SYSOPER)モードで接続するには、最後に 'IN SYSOPER'を追加し、' IN SYSDBA'を使用してdbaとして接続します。例えば。詳細については、最初の文書リンクを確認してください。 –

関連する問題