- - PR -
vb.netからodp.netを使ってoracle9iに接続するときのエラー
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-11-28 10:43
初めまして。
今、VB.NETからoracle9iのデータベースに接続しようと頑張っているのですが、 どうしてもうまくいきません・・・。 ソース---------------------------------------------------------------- Dim sdata As String = "User Id=ユーザID;Password=パスワード;Data Source=ora9idb;" Dim con As New OracleConnection(sdata) Dim SQL As String SQL = "SELECT * FROM テーブル名;" Dim comm As New OracleCommand(SQL) comm.Connection = con con.Open() ↑ここでエラー発生 この「con.Open()」のコードで 「ORA-12154 TNS サービス名を解決できませんでした」というエラーが出てしまいます。 エラーメッセージリリースを見て、tnsnames.oraファイルを確認しましたが、ちゃんと サービス名は登録されていました。 いろいろネットで調べてみたのですが、同じような状況を解決した!という情報が見つからず 困っています。 みなさんお忙しいのは承知しておりますが、ぜひ教えていただきたいです。 よろしくお願い致します。 | ||||
|
投稿日時: 2003-11-28 10:50
申し訳ありません!
開発環境を入力し忘れていました。 OS:Windows 2000 oracle:oracle9i database 9.2.0.1.0 oracle data provider for .NET 9.2.0.2.102 oracle9i client 9.2.0.1.0 vs:vb.net2003 です。 | ||||
|
投稿日時: 2003-11-28 12:19
SQL*PLUSなどの、Oracleツールでは接続できますか?
| ||||
|
投稿日時: 2003-11-28 12:35
返信ありがとうございます!!
SQLPlusからは 「connect ユーザ名/パスワード」とした場合は問題なく接続できるのですが、 「connect ユーザ名/パスワード@サービス名」とした場合、 「ORA-12541 TNS リスナーがありません」というエラーが出ます。 Oracle Net managerをチェックすると、 「サービス・ネーミング」のサービス名に該当する項目のアドレスと、 「リスナー」のアドレスはちゃんと同じプロトコル・ホスト名・ポート番号を 指定しているのですが・・・・。 | ||||
|
投稿日時: 2003-11-28 13:07
SQL PLUSで
connect ユーザー名/パスワード@サービス名.world で接続できますか? | ||||
|
投稿日時: 2003-11-28 13:13
bachinさん、返信ありがとうございます!
>SQL PLUSで >connect ユーザー名/パスワード@サービス名.world >で接続できますか? SQL PLUSからこのように接続してみると、 「ORA-12154 TNS サービス名を解決できませんでした」という、 .NETからの接続と同じエラーメッセージが返ってきました。 そこで確認しておきたいのですが、tnsnames.oraファイルにて ☆☆☆ = (DESCRIPTION = (ADDRESS_LIST = ・・・・省略 この「☆☆☆」にあたる部分がサービス名なんですよね?? 私が調べたところ、その部分がサービス名だという風に提示されていたのですが・・・・。 間違っていますでしょうか? | ||||
|
投稿日時: 2003-11-28 13:56
リスナーはあがっていますか?(構成しました?) 「コンピュータの管理→サービス」で、「%ORACLE_HOME%TNSListener」の状態が「開始」になっているか スタートメニューから、「Oracle - OraHome??→Configration and Migration Tools→Net Manager」で、「ローカル→リスナー」を確認。 サービス名をつけない場合、ローカルコンピュータにあるデータベースに接続されます。それがOkで、サービス名をつけるとNGと言うことならば、この辺があやしいのですが。。。って、Oracleコアやん。 | ||||
|
投稿日時: 2003-11-28 14:02
Jittaさん、返信ありがとうございます!
>「コンピュータの管理→サービス」で、「%ORACLE_HOME%TNSListener」の状態が「開始」に >なっているか こちらで確認してみたところ、「%ORACLE_HOME%TNSListener」というサービスがありませんでした。 でも、Net Managerを確認すると、ちゃんとリスナーはありました。 なので、構成はしているがサービスがないという状況になるのかな? (↑ すみません!勉強不足で・・・。) どうしてこのようなことがおこるのでしょうか? また、どのようにしたら解決できるのでしょうか? お忙しいところ申し訳ないのですが、教えていただけないでしょうか・・・・。 |