0

同じサーバー上に同じ名前で異なるポート番号の2つのデータベースがあります。エントリは次のtnxnames.oraようになります(実際には、一方のデータベースはもう一方のデータベースのクローンです)。

AAAA.FSA.GOV.UK =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1530)))
(CONNECT_DATA = (SID = AAAA)))


AAAA.FSA.GOV.UK =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1521)))
(CONNECT_DATA = (SID = AAAA)))

私はMS-Accessを使用してアプリケーションを開発し、ADODB接続を使用してサーバーにアクセスしています。サーバーからデータにアクセスしようとしています。私の接続文字列は次のようになります。

sConStr = "Driver={oracle in oraclient10g_home1};SERVER=SERVER_NAME;DBQ=AAAA;UID=username;Pwd=pswd"

Set oConn = New ADODB.Connection

oConn.connectionstring = sConStr
oConn.open

私の問題は、私のADODBが常にデータベースのポート番号1530に接続していることです。これを接続文字列に設定して、ポート1521のデータベースにアクセスすることができません。

同じサーバー内の同じ名前の異なるデータベースにアクセスするために、接続文字列にポート番号を記載することは可能ですか?

元のデータベースではなく、複製されたデータベースにアクセスするためのアプリケーションを準備する必要があります。データベース間でポート番号だけが異なります。

4

3 に答える 3

1

これが役立つ場合があります:http://www.connectionstrings.com/oracle

于 2009-08-24T16:44:32.110 に答える
0

サーバー名の末尾にコロンで区切ってポート番号を追加してみてください。

SERVER=SERVER_NAME:1521

私はOracleユーザーではありませんが、MSSQLServerで動作します。

于 2009-08-24T16:08:48.267 に答える
0

これはばかげた質問かもしれません...しかし、あなたのtnsnames.oraの両方のエントリですか?

AAAA.FSA.GOV.UK =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1530)))
(CONNECT_DATA = (SID = AAAA)))


AAAA.FSA.GOV.UK = 
(DESCRIPTION = 
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1521)))
(CONNECT_DATA = (SID = AAAA)))

それぞれの名前が一意になるように変更してみてください。

AAAA.FSA.GOV.UK =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1530)))
(CONNECT_DATA = (SID = AAAA)))


AA21.FSA.GOV.UK = 
(DESCRIPTION = 
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1521)))
(CONNECT_DATA = (SID = AAAA)))

次に、コマンドラインで試しtnsping AAAA.FSA.GOV.UKてみてくださいtnsping AAAA21.FSA.GOV.UK

于 2009-08-25T14:57:26.290 に答える