2017-05-17 30 views
0

Bequeathプロトコルを使用してローカルOracle 12.2データベース(Oracle.ManagedDataAccess.Clientを使用)に接続するVisual Studio C#Windowsアプリケーションを使用しようとしています。これは、ローカルのデータベース接続用であるため、Oracleリスナーを経由する必要はありません。Bequeathプロトコルを使用してManagedDataAccessを使用するC#WindowsアプリケーションでOracleデータベースに接続する

私は、接続文字列またはTNSエントリを指定しないときSQLPLUSがネイティブに遺すプロトコルを使用していることを知っている:

sqlplus scott/tiger 

*connected* 

SIDとのservice_namesは "mydbという共に":

select instance from v$thread; 
----- 
mydb 

show parameter service_names; 
VALUE 
----- 
mydb 

私がすることができますまた、 SQL Developerを介して接続するときは、Bequeathプロトコルを使用します(接続タイプはLocal/Bequeathを使用します)。

しかし、(少なくとも私のために)動作する接続文字列でBequeathを使用する例は見つかりませんでした。

Oracle Net Servicesの12.1ドキュメントは、あまり役に立ちません。これはBequeathの概要を例なしで示しています。


のtnsnames.ora:(リスナーを経由)TCPを使用して

MYDB = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
     (SID = MYDB) 
    ) 
) 

MYDB_BEQ = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = BEQ)(PROGRAM = oracle)(ARGV0 = oracleMYDB) 
    ) 
    ) 
    (CONNECT_DATA = (SID = MYDB) 
    ) 
) 

次作品:

new OracleConnection(@"User Id=scott; Password=tiger 
;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(
HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED) 
(SERVICE_NAME=MYDB)))"); 

*connected* 

またはTNSNAMESエントリを使用して:

new OracleConnection("User Id=scott;Password=tiger;Data Source=MYDB") 

*connected* 

私はTNSNAMESを通じて接続できますSQLPLUSを使用してBEQエントリ上INGの:

sqlplus scott/[email protected]_beq 

*connected* 

しかし、私はこれがOracle.ManagedDataAccessを介して動作するように見えることはできません。

new OracleConnection(@"User Id=scott; Password=tiger 
             ;Data Source = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = BEQ)(PROGRAM = oracle)(ARGV0 = oracleMYDB)))(CONNECT_DATA = (SID = MYDB)))") 

ORA-12533: Network Session: Connect transport address syntax error 

はまた、上記働いTNSNAMESエントリを使用するためにこれを試してみました:

new OracleConnection("User Id=scott;Password=tiger;Data Source=MYDB_BEQ") 

ORA-12533: Network Session: Connect transport address syntax error 

私はおそらく、ここで基本的な何かが欠けていますが、私は他に何しようとしてわからないんだけど...

答えて

0

それは可能ではないようです。

ん遺す(BEQ)のサポート:12c Data Provider for .NET Developer's Guideのデータソース]セクションに

。デフォルトのアドレスは代わりにTCPループバック ポート1521とOracleサービス名(ORACLE_SID)

関連する問題