0

私のアプリケーションには、4 つの異なるデータベース サーバー (MS SQL、MySql、SQLite、および Oracle) に接続する機能があり、データベースが存在しない場合は、指定されたデータベース名で新しいデータベースが作成されます。このロジックは、Oracle を除くすべてのサーバーで機能します。データベースが存在する場合、4 台のサーバーすべてで接続できるので、問題は tns や間違った dll などとは関係ないと思いますが、この場合は接続文字列が間違っている可能性があります。

Oracle サーバーのバージョンは 11.0.0.1 で、必要な odac ドライバーをインストールしました。私のPCにはtnsが設定されており、データベースが存在する場合、すべてが正常に機能しています。この場合、接続文字列は次のようになります。

User Id=<myuser>; Password=<mypassword>; POOLING=true; Connection Lifetime=15;
Connection Timeout=15; incr pool size=10; Data Source=
(
DESCRIPTION=
(ADDRESS=
 (PROTOCOL=TCP)
 (HOST=<myserveraddress>)
 (PORT=<myport>)
)
(
 CONNECT_DATA=
 (SID=<mysid>)
 (SERVICE_NAME=<mydatabasename>)
)
);

ここで、接続文字列からサービス名セクションを削除すると、「ORA-12505: TNS: リスナーは接続記述子で指定された SID を現在認識していません」という例外が発生します。

サーバーにのみ接続したいが、データベースには直接接続したくない場合はどうすればよいですか?

4

2 に答える 2

0

あなたはここで何が起こっているのかを誤解しています。

Oracleでは、あなたのケースではデータベースを作成しませんが、ユーザー/テーブルスペースを作成します。

オラクル:

サーバー > インスタンス (データベース) > テーブルスペース

他の:

サーバー > インスタンス > データベース

于 2014-03-22T07:45:45.973 に答える
0

Oracle データベース作成の概念は、他のデータベースとは異なります。

次のリンクをクリックしてください

http://docs.oracle.com/cd/E16655_01/index.htm

オプション「2日でDBA」を選択します

データベースを作成する最善の方法は、Oracle が提供するグラフィカル インターフェイスを使用することです。つまり、dbca.bat から始めます。

于 2014-03-22T07:40:46.470 に答える