
No.6ベストアンサー
- 回答日時:
tnspingの引数がわかりませんが、成功しているようですね。
tnspingはリスナーへの接続が成功するかどうかの確認です。
リスナーに接続した後、クライアント用に専用サーバプロセスが起動し、DBに接続します。
この部分が失敗しているようです。
要はリスナーには接続できているが、DBには接続できていない状態です。
一点気になる点がありますので、それを変更して試してもらえますか?
tnsnames.oraを変更してください。
> (CONNECT_DATA =
> (SERVICE_NAME = dev.dev_domain)
> )
> )
この部分を
(CONNECT_DATA=(SID=ORCL)
に変更してください。
SIDはサーバ側のlistener.oraかlsnrctlで調べてみてください。
(間違うとどつぼにはまりますので慎重に確認してみてください)
念のため、tnsnames.oraのサンプルをアップしておきます。
DEV =
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = DEVSV001)(PORT = 1521))
)
(CONNECT_DATA=(SID=ORCL))
)
SIDだけ違ったら変えて、既存のtnsnames.oraと入れ替えてもかまいません。
これでも不可な場合、サーバ側のlistener.oraと
> lsnrctl status
の出力結果を補足に記入してみてください。
たぶんいけると思うのですが...。
(CONNECT_DATA=(SID=ORCL))
に変更しても状況は変わらなかったのですが、
クライアントに原因があるというアドバイスを元に
Oracle Clientのアンインストール、再インストールを行ってみましたところ
すんなり接続できるようになりました。
もしかしたらODBCドライバーがうまくインストールされていなかったのかもしれません。
今回のことで失敗の連続ではあったものの、ここでいただいた助言のおかげでOracleの設定について結構詳しくなりました。本当に感謝しています。
ありがとうございました!!
No.5
- 回答日時:
そういえば昔、あるアプリケーションでOracleのODBCドライバはダメだけど、MSから出ているOracleのODBCドライバは接続できたことがありました。
確か、MS ODBC Driver for Oracle...そんな名前かと思います。
当時バージョンが2から2.5に上がった頃の話でした。
今もMSからOracle用のODBCドライバが出ているのではないでしょうか?
試す価値ありと思います。
この回答への補足
アドバイスありがとうございます。
ODBCドライバの一覧に該当のドライバーがありましたので試してみました。
Oracleのドライバーを使ったときとは異なり、ODBCの構成時に「接続テスト」というボタンがありませんでしたので、ACCESSを使って、作成したODBCを選択しテーブルのリンクを試してみましたが、
指定された接続識別子を解決できませんでした。
のエラーが出て駄目でした。
No.4
- 回答日時:
今回の件に関してはサーバー環境は問題ないと思いますので、クライアント環境を見直すことだと思います。
>それとsqlnet.oraはサーバーの方のですか?それともクライアントの方でしょうか。
クライアント側です。
でも特に問題はなさそうですね。
tnsnames.oraの内容をアップしてもらえませんか?
サーバローカルはIPC接続もあるので、それでうまくいっているのかもしれませんね。
あとtnspingの結果もアップしてもらえますか?
使用法は
> tnsping 接続文字列
です。
この回答への補足
tnsnames.oraは以下のとおりです
**************************
# tnsnames.ora Network Configuration File: C:\Oracle\product\10.1.0\Client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
DEV =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = DEVSV001)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dev.dev_domain)
)
)
**************************
tnspingというものは知りませんでした。
実行した結果は以下の通りです。
**************************
パラメータ・ファイルを使用しました:
C:\Oracle\product\10.1.0\Client_1\network\admin\sqlnet.ora
エイリアスを解決するためにTNSNAMESアダプタを使用しました。
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = DEVSV001)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = dev.dev_domain)))
OK (50ミリ秒)
**************************
よろしくお願いします
No.3
- 回答日時:
>SQLState=08004
>[Oracle][ODBC][Ora]ORA-12154:TNS:指定された接続識>別子を解決できませんでした。
ORA-12154はTNSNAMES.ORAに接続文字列が無い場合に発生するエラーです。
SQL*PLUSでは接続できているとの事ですので、まさか接続文字列を間違っているとは思いませんが...。
ODBCの設定の入力項目を一応見直してみてください。
>これってデータベースの名前が間違ってるということ
>でしょうか・・・・そんなはずないんですが
データベースの名前...ではないんですよね。
tnsnames.oraで設定した接続文字列、またはサービス名と言います。
ちょっとデータベースといわれているのが気になりました。
SIDなどと取り違えてはいないですよね?
あと可能性があるとすれば、sqlnet.oraの設定でしょうか?
NAMES.DEFAULT_DOMAIN に入っている値が、tnsnames.oraで使われていますか?
NAMES.DEFAULT_DOMAIN=WORLD で
tnsnames.oraが
db1.world=...
となっていれば、user/pass@db1 で接続できます。
しかし
NAMES.DEFAULT_DOMAIN=oracle
tnsnames.oraが
db1.world=...
となっていると、ORA-12154が発生します。
この場合、user/pass@db1.world と指定しなければなりません。
御確認ください。
この回答への補足
>データベースの名前...ではないんですよね。
>tnsnames.oraで設定した接続文字列、またはサービス名と言います。
SIDとグローバル・データベース名が別という事でしょうか?インストールの時に ”.”の前の文字列が勝手にSIDになったのでデータベースの名前=SIDだと思っていました。
ご指摘ありがとうございます!
それとsqlnet.oraはサーバーの方のですか?それともクライアントの方でしょうか。
どちらにしてもNAMES.DEFAULT_DOMAINというパラメータは無く、
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
とだけ記述してあります。
下でも補足しましたが、サーバー上からODBCの設定をして接続するのは出来るんですが、クライアントからやろうとすると繋がりません。
まず接続テストのボタンを押しただけで5分くらい固まった後パスワードを要求するダイアログが開きます。
パスワードを入れて接続するとさらに5分くらい固まった後、問題のエラーがポップアップします。SQL*PLUSでは何秒と待つことなく接続できるのですが・・・・。
No.2
- 回答日時:
>ORA-12154:TNS:指定された接続識別子を解決・・
使用された接続識別子のタイプがネット・サービス名の場合、そのネット・サービス名がネーミング・メソッド・リポジトリで見つからないか、リポジトリが見つからないかだと思います。
まずグローバルデータベース名・ホスト名の確認をしてみてください。
その他は・・
ローカルネーミング(TNSNAMES.ORAファイル)を使用している場合
*Oracle Netプロファイル(SQLNET.ORA)のNAMES.DIRECTORY_PATHパラメータに値としてTNSNAMESが指定されていることを確認する。
*TNSNAMES.ORAファイルが適切なディレクトリに存在していてアクセスできることを確認する。
*接続識別子として使用したネット・サービス名がTNSNAMES.ORAファイルに存在することを確認する。
または、Oracle10gを例えば再インストールしたとかありますでしょうか?
レジストリが正しく参照されていないのかもしれません。その場合も同様のメッセージが出ます。
環境変数でORACLE_HOMEを作り強制的に指定してもダメでしょうか?
>ADOの設定ってどこでやるのですか・・
Accessを開きメニューのツールからマクロを選択しVisualBasicEditorを起動してVBのメニューのツールから参照設定をクリックすると表示されます。現在参照設定されているLibrayはチェックが付いています。
OracleならMicrosoftActiveXDataObjects2.1Librayがチェックされていれば大丈夫なはずです。
この回答への補足
最新バージョンのODBCドライバーをOTNから落とし、クライアントにインストールしましたが駄目でした。
ちなみにMicrosoftActiveXDataObjects2.1Librayにはチェックがついておりましたが、
MicroSoft ODBC Administratorでの接続テストの段階でエラーとなっているので、Accessは関係ないかなと思っています。
あと、Oracle10gをインストールしているサーバーにはインストール前に9iが入っていて、アンインストールしてから10gをインストールしました。10gのインストールも3度やり直しています。
サーバーでlsnrctlコマンドを使い、リスナーが認識しているサービス名を確認し、それがクライアントのtnsnames.oraのサービス名と同じことも確認しました。
サーバー上でODBC接続をすればなんの問題もなくうまくいくんですが、クライアントから接続しようとすると駄目なんです・・・・・
非常に丁寧な説明ありがとうございます。
なんとか解決できました。
色々勉強させていただきました。
本当にありがとうございます!!
No.1
- 回答日時:
Accessの参照設定はどうでしょうか?
ADOを設定してあるか等の確認は?
MicrosoftActiveX Data Objects 2.? Libraryにチェックしてあるかとか・・
でも参照設定がしてない場合はメッセージでるはずですよね。
Oracle10gとODBCドライバがバージョン等で合っていないとか・・。
そのくらいしか思いつきませんが。
この回答への補足
ODBCドライバのバージョンは10.01.00.02でした。
これは10gインストール時にインストールされたものなので合っていると思います。
ADOの設定ってどこでやるのですか?詳しくないものでわかりません。
補足ですが、先ほど接続テストをしたまましばらく放っておいたら以下のようなエラーのポップアップが出ました。
接続できませんでした。
SQLState=08004
[Oracle][ODBC][Ora]ORA-12154:TNS:指定された接続識別子を解決できませんでした。
これってデータベースの名前が間違ってるということでしょうか・・・・そんなはずないんですが
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- ルーター・ネットワーク機器 AU光10G回線について 6 2022/07/25 00:12
- サーバー ネットワークの構成に困っています 3 2023/07/05 11:55
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- ビデオカード・サウンドカード PCに接続したイヤフォンのマイクが使えません。 3 2022/10/22 11:07
- ルーター・ネットワーク機器 ネットワーク共有フォルダーにWi-Fiで接続したい 4 2022/06/17 00:01
- ルーター・ネットワーク機器 Wi-Fi付きマザーボードで自作PCを組みたいのですが、OSをインストールした後のWindowsのネ 1 2022/12/06 20:09
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
このQ&Aを見た人はこんなQ&Aも見ています
-
ODBCの接続に失敗しました(3146)について
その他(Microsoft Office)
-
AccessでOracleのテーブルをリンクし、Access側では読み取り専用にしたい
その他(データベース)
-
Oracle9i でODBC接続したい
Oracle
-
-
4
accessの処理が遅い
その他(データベース)
-
5
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
6
ODBCドライバー削除方法
その他(データベース)
-
7
MSDNのコレクションがありません。MSDNを再インストールしてください。
Visual Basic(VBA)
-
8
CASE文のエラーについて
Oracle
-
9
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
10
SQLServer2005のSQL文での別名の取り扱い
SQL Server
-
11
ORA-12154 TNS:指定された接続識別子を解決できませんでした
Oracle
-
12
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データソース名および指定され...
-
ORA-12170のエラーについて
-
ODBCの設定でSQLServer名がでない
-
Oracle Call Interfaceについて
-
接続識別子とは何でしょうか??
-
SQL*PLUSにてデータベース名表示
-
VB.NET Oracle接続 32、64bit
-
oracleへの外部IPからのアクセ...
-
「ORA-12637」エラーでORACLEに...
-
ExcelとOracleの連携について
-
DB接続とテキストファイル接続...
-
クライアントからのリスナーが...
-
オラクルに接続できない
-
instantclient cse接続ができない
-
Oracle10g・・ODBCで接続できない
-
PHPからPOSTGRESQLが...
-
ORA-12154:TNS
-
SIDとSERVICE_NAMEの違いとは?
-
fortissimo EXA追加シナリオパ...
-
Windows Storeを使わずに付箋を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データソース名および指定され...
-
ORA-12170のエラーについて
-
SQL*PLUSにてデータベース名表示
-
データベース接続情報作成しま...
-
Oracle10g・・ODBCで接続できない
-
オープン時にエラーが出て接続...
-
クライアントからのリスナーが...
-
「ORA-12637」エラーでORACLEに...
-
sqlplus / as sysdba で接続不可
-
VB.NET Oracle接続 32、64bit
-
ODBCの設定でSQLServer名がでない
-
Npgsqlを用いて接続を行いたい...
-
instantclient cse接続ができない
-
「ORA-6413 接続がオープンして...
-
オラクルの「ORA_12545 ターゲ...
-
リスナーを使用しないでOracle...
-
ACCESSからODBC接続でORA-12504
-
ExcelとOracleの連携について
-
Oracleが突然接続不可に!
-
「libpq.dll」ロード時にエラー
おすすめ情報