2009-06-11 61 views
6
私が知っている必要があり

に接続するための機能を持っている.NET Frameworkの.NETからDB2データベースへの接続のいずれかの機能があり4.0んの.NET Framework 4.0は、DB2

編集: - 私はどんなのがあるかどうかを知りたいですDB2プロバイダ

答えて

3

どういう意味ですか? .NET 4.0固有のものが必要な場合、または.NET Frameworkを使用してDB2に接続できるかどうかを知りたい場合。

これが該当する場合は、可能です。 OleDBConnectionクラス(.NET 2.0および.NET 3.5でも使用可能)には、プロバイダの詳細を設定するConnectionStringプロパティがあります。 DB2プロバイダーのプロバイダーの接続文字列を渡すだけでOKです。

17

IBM.Data.DB2ドライバーのファミリー(まとめてIBM.Data.DB2.dllにあります)は、開発マシンにドライバーをインストールすれば、.NETでうまく動作するはずです。

VS2010BetaとEF4Beta2でVS2010用のVisual Studioアドインが不足しているにもかかわらず、このシステムを正常に動作させることができました(この時点)。 .NET 4.0のclrのmachine.configファイルにそのためのエントリを追加する必要があります。

EDIT:サンプルmachine.configマークアップが続きます。もともと、設定ファイルにはただ1つのSQLサーバDBプロバイダファクトリエントリがありました。あなたのマシンにIBM.Data.DB2がインストールされていると仮定すると、私が行ったことを行い、単に2.0のmachine.configファイルを開き、DB2用のエントリーをコピー/ペーストすることができます。完全な開示、私は正直なところ4つすべてが必要であるかどうかは分かりませんが、9.7fp1のクリーンインストールでは、私の2.0 machine.configに4つのエントリがすべて挿入されているので、前に進んで4.0 machine.configまでコピーしました。コピー/貼り付け、ファイルを保存、およびVisual Studio 2010を再起動し、ストレージ・モデル定義内の情報を使用してEDMXでプロバイダを参照することができる必要があります:私はへの接続に興味

<edmx:StorageModels> 
    <Schema xmlns="http://schemas.microsoft.com/ado/2009/02/edm/ssdl" Namespace="BlahModel.Store" Alias="Self" Provider="IBM.Data.DB2" ProviderManifestToken="IDS/UNIX64, 11.50.0000"> 

注意informixデータベース、したがってProviderManifestToken値。しかし、私はそれが逐語的に必要とは思わない。私の4.0のmachine.configから

スニペット:

<system.data> 
    <DbProviderFactories> 
     <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/> 
     <add name="IBM DB2 .NET Data Provider" invariant="IBM.Data.DB2" description="IBM DB2 Data Provider for .NET Framework 2.0" type="IBM.Data.DB2.DB2Factory, IBM.Data.DB2, Version=9.0.0.2, Culture=neutral, PublicKeyToken=7c307b91aa13d208" /> 
     <add name="IBM Informix .NET Data Provider" invariant="IBM.Data.Informix" description="IBM Informix Data Provider for .NET Framework 2.0" type="IBM.Data.Informix.IfxFactory, IBM.Data.Informix, Version=9.0.0.2, Culture=neutral, PublicKeyToken=7c307b91aa13d208" /> 
     <add name="IBM DB2 .NET Data Provider 9.7.1" invariant="IBM.Data.DB2.9.7.1" description="IBM DB2 Data Provider 9.7.1 for .NET Framework 2.0" type="IBM.Data.DB2.DB2Factory, IBM.Data.DB2.9.7.1, Version=9.7.1.2, Culture=neutral, PublicKeyToken=7c307b91aa13d208" /> 
     <add name="IBM Informix .NET Data Provider 9.7.1" invariant="IBM.Data.Informix.9.7.1" description="IBM Informix Data Provider 9.7.1 for .NET Framework 2.0" type="IBM.Data.Informix.IfxFactory, IBM.Data.Informix.9.7.1, Version=9.7.1.2, Culture=neutral, PublicKeyToken=7c307b91aa13d208" />   
    </DbProviderFactories> 
</system.data> 

EDIT 2: IBMの最新のDB2ドライバー - v9.7fp4は - 大幅.NET 4.0とVS2010を改善しているアドインをサポート。インストールによって、4.0のmachine.config DbProviderFactoriesエントリが自動的に処理されます。前述のように以前に手動でエントリを編集した場合は、v9.7fp3以前のアンインストールの一部としてコメントアウト/削除する必要があります。

+0

これらのドライバを入手する場所(リンク先)とインストール方法についての説明を掲載できますか?私はVS2008用のアドインツールキットをインストールしましたが、EFの "Change Data Source"ダイアログではまだdb2プロバイダーが表示されません。 – camainc

+0

ええ、vs2010のアドインがないと、EFダイアログでdb2プロバイダーが表示されなくなります。私は基本的に2008年の実例をとり、それを2010年にアップグレードし、必要な項目をv4.0のmachine.configに追加したことを確認しました。私は、v2.0のmachine.configのIBM dbプロバイダのエントリをv4.0のmachine.configにコピー/ペーストすることさえあるかもしれません。私はvs2010 RTMをインストールして以来、私は二重チェックすることはできませんし、まだこの状況をもう一度見直していません。 – kdawg

+0

フォローアップとして、IBM.Data.DB2経由でvs2010 RTMとEF4を使用してInformixデータベースに正常に接続しました。レコードのために、私はDB2の最新のドライバ(v9.7 fp1)を使用していますが、4.0 clrのmachine.configファイルでDBProvider情報をコピー/ペーストする必要がありました。 – kdawg

3

また、Visual Studio 2010を使用してEntity Framework経由でDB2に接続しようとしています。私がやったことkdawgみました: 私はIBM Data Serverのドライバパッケージ をインストールし、私はIBMのVisual Studio 2008のアドイン

をインストールし、私はその後、私の2008年のプロジェクトにADO.NETエンティティデータモデルを作成しようとした後、2010年にそれを変換しますデータベースへの接続は機能しません。 エラー[42968] [IBM] SQL1598Nライセンス問題のためデータベース・サーバーへの接続に失敗しました。 SQLSTATE = 42968

明らかに、このforumに従って、IBMは無料でドライバを提供しません。 DB2 Connectをインストールし、使用許諾を得ておく必要があります。これは約12,000ドルです。

私は別のものを試してみることにしました。

+0

+1無料 – walterhuang

1

はまた、あなたがil.ilするIldasm.exeをとlibが逆コンパイルすることができます

次にSDK 7を使用してコンパイル ilasm.exe /RESOURCE=...\IL.res ... \ il.il/OUTPUT = ... \ Ibm.Data.Db2.Net4.dll/DLL

関連する問題