VB2005でOrcleに接続をするには?

解決


馬衣  2008-02-06 04:13:31  No: 144384

VB2005のWebアプリでOracle10gに接続しようとしています。
OleDbやSQLServerへの接続はImports System.Data.OleDbのように名前空間を宣言することでできたのですが、
参考書を探してOracleの接続を試みたところ、
Imports System.Data.OracleClientができませんでした。
何か別に必要な設定があるのでしょうか?

基本的なこととは思うのですが、ご教授お願い致します。


やじゅ  2008-02-06 04:25:12  No: 144385

参照設定する必要がありますね。


馬衣  2008-02-08 00:02:13  No: 144386

ご返答遅くなりましたが、おかげさまで無事解決致しました。

参照設定を追加することで
Imports Oracle.DataAccess.Client
の一行を追加し、正常に動作させました。

ただ、参考書に掲載されていました
Imports System.Data.OracleClient
のような形式での記述はできなかったのですが、
これは他の参照を更に追加しなければならないのでしょうか?
参考にした書籍で取り扱っている環境も、
同じくVB2005とのことでしたので、
疑問が残っております。

よろしければ、ご説明頂ければ幸いです。


魔界の仮面弁士  2008-02-08 01:04:42  No: 144387

> Imports System.Data.OracleClient
これは、Microsoft 社製の ADO.NET マネージプロバイダです。

> Imports Oracle.DataAccess.Client
これは、Oracle 社製の ADO.NET マネージプロバイダです。(通称 ODP.NET)

> これは他の参照を更に追加しなければならないのでしょうか?
ヘルプに書いてありますよ。

たとえば、System.Data.OracleClient.OracleConnection クラスならば、
http://msdn2.microsoft.com/ja-jp/library/system.data.oracleclient.oracleconnection.aspx
> 名前空間: System.Data.OracleClient
> アセンブリ: System.Data.OracleClient (system.data.oracleclient.dll 内)
と書いてありますよね。
すなわち『"system.data.oracleclient.dll" を参照設定する必要がある』という事です。


馬衣  2008-02-08 23:06:08  No: 144388

ありがとうございます。
System.Data.OracleClient
もできるようになりました。

片方をコメントアウトして動作させても、
同じように動いてるように見えるのですが、
どのような違いがあるのでしょうか?
また、それによるメリット、デメリットは何なのでしょうか?

引き続きの質問申し訳ありませんが、ご教授よろしくお願いします。


魔界の仮面弁士  2008-02-09 00:49:09  No: 144389

クラスを使うために「参照設定」が必要なのは確かですが、
名前空間の「Imports」については必須ではありません。

たとえば、レジストリを扱う Registry クラスを例にとると、

Public Class Form1
    Sub Test()
        Dim r As Microsoft.Win32.Registry  '★
    End Sub
End Class

というコードを記述しやすくするために、

Imports Microsoft.Win32     '☆
Public Class Form1
    Sub Test()
        Dim r As Registry   '☆
    End Sub
End Class

のような記述が可能である、というだけの事です。

なおインポート指定は、ソースコード中に記述する以外にも、
MyProject ウィンドウの、[参照]タブ内の「インポートされた名前空間」
にて指示する事もできます。(VBC.EXE の /imports: オプションに相当)


馬衣  2008-02-12 18:08:12  No: 144390

度々のご回答、とてもわかりやすい説明をしていただきありがとうございます。

また、質問させていただくこともあるかと思いますが、よろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加