我需要知道在.Net Framework 4.0中从.net连接到DB2数据库是否有任何功能。
编辑:-我想知道是否有任何DB2提供程序
最佳答案
是的,只要您将驱动程序安装在开发机器上,IBM.Data.DB2驱动程序家族(我相信总在IBM.Data.DB2.dll中可以找到)应该可以与.NET一起正常工作。
此外,尽管缺少用于VS2010的Visual Studio加载项(截至该日期),但我仍能够使其与VS2010Beta和EF4Beta2一起成功使用。如果驱动程序已安装在您的计算机上,则只需添加一个.NET 4.0的clr的machine.config文件中的相应条目。
编辑:随后是示例machine.config标记。最初,配置文件只有一个SQL Server DB Provider Factory条目。假设您的计算机上已安装IBM.Data.DB2,则可以执行我的操作,只需打开2.0的machine.config文件,然后复制/粘贴DB2的条目即可。全面披露,老实说,我不知道是否全部需要这4个,但是全新安装的9.7fp1将所有四个条目插入了我的2.0 machine.config中,因此我继续将它们全部复制到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">
请注意,我对连接到notifyix数据库感兴趣,因此对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>
编辑2: IBM最新的DB2驱动程序-v9.7fp4-大大改进了.NET 4.0和VS2010加载项支持。它的安装将自动处理4.0 machine.config DbProviderFactories条目。如果您以前曾手动编辑条目(如上所述),则在v9.7fp3(及更早版本)卸载过程中,希望将其注释/删除。
关于.net - .Net Framework 4.0是否具有用于连接到DB2的功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/979473/