C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

OracleConnectionへの接続方法


(過去ログ 6 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■6914 / inTopicNo.1)  OracleConnectionへの接続方法
  
□投稿者/ みぃみ 二等兵(6回)-(2006/09/28(Thu) 10:11:58)

分類:[VB.NET] 


分類:[VB.NET] 

お世話になっております。
VB2005・XP Professionalを1ヶ月ほど前から使用しております。
初歩の初歩からつまずいておりますが、どなたかご教授いただければと
思います。

ODP.NETを利用してデータベースに接続することになりました。
フォームオープンのところにコードを書きましたが、フォームが
オープンされません。

’一番先頭に宣言
Imports Oracle.DataAccess.Client
Imports Oracle.DataAccess.Types

’フォームオープン時
Private Sub frmDate_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim con As New OracleConnection

con.ConnectionString = "User Id=***; Password=***; Data Source=***"
Dim cmd As New OracleCommand
cmd.Connection = con
con.Open()

end sub

ここでデバックをしますと、最後のcon.Open()でエラーが発生します。

**以下、エラーの語句**
OracleExceptionはハンドルされませんでした。
ORA-12154:TNS:指定された接続識別子を解決できませんでした。
*************

インターネットでコードを調べてみましたが、
上記コードで特に問題はなさそうに感じるのですが・・。

0
引用返信 編集キー/
■6915 / inTopicNo.2)  Re[1]: OracleConnectionへの接続方法
□投稿者/ じゃんぬ @ 管理人 中将(269回)-(2006/09/28(Thu) 10:15:22)

分類:[VB.NET] 

No6914に返信(みぃみさんの記事)
> ’フォームオープン時
> Private Sub frmDate_Load(...) Handles MyBase.Load

なぜ、このタイミングで Open するのでしょうか?
Connection が開きっぱなしの状態は推奨されません。
使う直前で Open するのがセオリーです。

> Dim cmd As New OracleCommand
> cmd.Connection = con

Command を使用していないところで Command のインスタンスを生成する必要はありません。

> ここでデバックをしますと、最後のcon.Open()でエラーが発生します。
>
> **以下、エラーの語句**
> OracleExceptionはハンドルされませんでした。
> ORA-12154:TNS:指定された接続識別子を解決できませんでした。
> *************

まずはプログラムからではなむ、SQL Plus などから「接続テスト」をしましょう。

0
引用返信 編集キー/
■6917 / inTopicNo.3)  Re[2]: OracleConnectionへの接続方法
□投稿者/ みぃみ 二等兵(8回)-(2006/09/28(Thu) 10:42:12)

分類:[VB.NET] 

早速のお返事ありがとうございます。

> なぜ、このタイミングで Open するのでしょうか?
> Connection が開きっぱなしの状態は推奨されません。
> 使う直前で Open するのがセオリーです。

Btn_Click時に以下のようにコードを書き直しました。

Dim con As New OracleConnection

con.ConnectionString = "User Id=***; Password=***; Data Source=***"
con.Open()

以上のように書き直したら、フォームはオープンされましたが、
ボタンクリック時に、同じ箇所で、同じメッセージのエラーがでました。

プログラムで実行させる前に、接続が上手くいってるかどうかを
まずは確認しなければいけないのですね。(本当に初心者ですいません;;)
ネットで検索して調べつつ接続テストをしてみます。
初めてなので、少々時間がかかるとは思いますが、また結果を報告させていただきます。
レスありがとうございました^^



0
引用返信 編集キー/
■6919 / inTopicNo.4)  Re[3]: OracleConnectionへの接続方法
□投稿者/ 刈歩 菜良 二等兵(2回)-(2006/09/28(Thu) 11:20:48)
刈歩 菜良 さんの Web サイト

分類:[VB.NET] 

No6917に返信(みぃみさんの記事)
> 以上のように書き直したら、フォームはオープンされましたが、
> ボタンクリック時に、同じ箇所で、同じメッセージのエラーがでました。

■6914 を引用
> **以下、エラーの語句**
> OracleExceptionはハンドルされませんでした。
> ORA-12154:TNS:指定された接続識別子を解決できませんでした。
> *************

Oracleはようわかりませんが、エラーメッセージから察するに、接続文字列の情報が間違えているってことになりますね。
まずはサーバーエクスプローラから接続できるかどうか確認してみてください。
方法は、
[ツール]→[データベースへの接続]で、プロバイダタグでOracleを選んで、[次へ]接続タブで接続情報を入れて[接続のテスト]ボタンで接続できるかどうか確認しましょう。OKならダイアログをOKで閉じます。
それができたら、サーバーエクスプローラにOracleのデータベース内部が表示されているはずですから、そこから適当なテーブルをWindowsのフォームにドラッグ&ドロップして見ましょう。そうするとコードが自動生成されます。
コードの中に接続文字列があるはずですから、それを使って見てください。

接続文字列を見るだけならほかにも方法がありますが、これが一番教えるのがらくちんだったので...

0
引用返信 編集キー/
■6921 / inTopicNo.5)  Re[4]: OracleConnectionへの接続方法
□投稿者/ まどか 少将(244回)-(2006/09/28(Thu) 11:33:02)

分類:[VB.NET] 

>>ORA-12154:TNS:指定された接続識別子を解決できませんでした。

このようにIDにTNSがあるものはOracle製品側の設定が間違っています。
まずはNet ManagerでDBへ接続できる設定がされているかを確認してください。
アプリケーションはミドルウェアが用意した入り口(設定)を利用するだけです。

0
引用返信 編集キー/
■6922 / inTopicNo.6)  Re[5]: OracleConnectionへの接続方法
□投稿者/ みぃみ 二等兵(9回)-(2006/09/28(Thu) 12:46:20)

分類:[VB.NET] 

刈歩 菜良さん まどかさん ご返信ありがとうございます。

■まどかさんの文を引用
> このようにIDにTNSがあるものはOracle製品側の設定が間違っています。
> まずはNet ManagerでDBへ接続できる設定がされているかを確認してください。
> アプリケーションはミドルウェアが用意した入り口(設定)を利用するだけです。

投稿するまでは、コードが間違ってるのかなとしばらく考えていましたが、
元々の接続ができていない、という意味のメッセージだったのですね。
調べてみると、接続ができていませんでしたので、再設定しなおしました。

■刈歩 菜良さんの文を引用
>[ツール]→[データベースへの接続]で、プロバイダタグでOracleを選んで、
>[次へ]接続タブで接続情報を入れて[接続のテスト]ボタンで接続できるかどう
>か確認しましょう

再設定後、刈歩さんの方法で、接続の確認をいたしましたところ、
接続ができていることが確認できました。^^

どうもありがとうございました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -