- - PR -
DbProviderFactoryのプロバイダー名には何を指定?
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-08-17 12:01
コンソールプログラムから、ODPで、Oracle10gへの接続を行っています。
汎用的に作ることが要求されていてDbProviderFactoryの使用を考えています。 DbProviderFactory provider = DbProviderFactories.GetFactory("Oracle.DataAccess.Client"); というように実行するとデータプロバイダが見つかりません。といわれてしまいます。 ここで気になるのですが、DbProviderFactoryというのは、machine.configに設定がないとそもそも 使えないものでしょうか? |
|
投稿日時: 2006-08-17 13:42
そもそもDbConnectionが取得したいだけなんですよね。
でも、これってDbProviderFactoryからしか作成できないですよね? DbConnection con = new OracleConnection()はコンパイルエラーなってしまいますし。 |
|
投稿日時: 2006-08-17 14:47
DbProviderFactories.GetFactory("System.Data.SqlClient);なら
正常動作するので、Oracleの問題のようです。 Oracleの本家系に聞いてます。 ということでとりあえずこちらは閉じさせていただきます。 お騒がせしました。 原因がわかりましたら、こちらにもご報告します。 |
|
投稿日時: 2006-08-17 15:18
検証してないので予想になりますが、
DbConnection con = new OracleConnection()がエラーになるということは 使っているOracle.DataAccess.dllのバージョンがADO.NET 2.0に 対応していないのでは? |
|
投稿日時: 2006-08-17 15:28
ODPは本日ダウンロードしてきた10.1.0.4.0になります(最新)
動作環境をみると、.NET1.0以降なんてあいまいなこと書いてありますね。 |
|
投稿日時: 2006-08-17 15:53
どうやらOTN Japanで配布しているバージョン(10.1.0.4.0)は.NET 1.xのみ
対応しているようです。 ちなみに先程、本家(米国)のOTNで配布しているバージョン(10.2.0.2.20)が .NET 2.0に対応していると書いてあったので試してみたところうまくいきました。 |
|
投稿日時: 2006-08-17 16:02
わざわざありがとうございます。
私もそのことに気付いてダウンロード中です。 ダウンロードはこちらですよね。 http://www.oracle.com/technology/software/tech/windows/odpnet/index.html 英語版のこっちのサイトは別途、ユーザー登録が必要なんですね。 ちょっとエラーと格闘中。 |
|
投稿日時: 2006-08-17 17:54
勘違いでした日本語サイトにありました。
ODT10201.exeというのをダウンロードしてきたのですが 大変なことに。 インストール時に、ファイルが上書きできないだの、キーがないだの エラーが出て、無視したらOracleが起動できない。& UniversalInstallerすら起動しなくなってしまった。 あきらめて、これからOracleの再インストールです(泣) ところで、ODT10201.exeをインストールするときの OracleHomeはもちろん、既存の場所を指定ですよね。 これ上書きしないとHomeが2個になってしまいますよね。 |