.Net Framework 4.0是否具有连接DB2的功能

web*_*nia 6 .net .net-4.0

我需要知道在.Net framework 4.0中是否存在从.net连接到DB2数据库的任何功能

编辑: - 我想知道是否有任何DB2提供程序

kda*_*awg 17

是的,IBM.Data.DB2驱动程序的家族(我相信在IBM.Data.DB2.dll中共同发现)应该可以正常使用.NET,只需在开发机器上安装驱动程序即可.

此外,我能够使VS2010Beta和EF4Beta2成功运行,尽管VS2010缺少Visual Studio加载项(截止日期).如果驱动程序已安装在您的计算机上,您只需要添加一个在.NET 4.0的clr的machine.config文件中输入它.

编辑: 示例machine.config标记如下.最初,配置文件只有单个SQL Server DB Provider Factory条目.假设您的计算机上安装了IBM.Data.DB2,您可以执行我所做的操作,只需打开2.0的machine.config文件并复制/粘贴DB2的条目.完全披露,老实说我不知道​​是否所有4都是必需的,但是我的2.0 machine.config中的所有四个条目都插入了9.7fp1的干净安装,所以我继续将它们全部复制到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">
Run Code Online (Sandbox Code Playgroud)

请注意,我有兴趣连接到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>
Run Code Online (Sandbox Code Playgroud)

编辑2: IBM最新的DB2驱动程序--v9.7fp4 - 极大地改进了.NET 4.0和VS2010加载项支持.它的安装将自动处理4.0 machine.config DbProviderFactories条目.如果您之前手动编辑了条目,如上所述,您将要在v9.7fp3(和更早版本)的卸载过程中注释掉/删除它们.


Aam*_*mir 3

你是什​​么意思?您想要特定于 .NET 4.0 的内容,或者想知道我们是否可以使用 .NET Framework 与 DB2 连接。

如果以后是这种情况,是的,可以。OleDBConnection 类(在 .NET 2.0 和 .NET 3.5 中也可用)有一个属性 ConnectionString,您可以在其中设置提供程序的详细信息。您只需为您的 DB2 提供程序提供提供程序的连接字符串就可以了。