我在让实体框架 5 与 Informix 一起工作时遇到了很多麻烦。寻找我能得到的任何帮助。我遵循以下程序:
- 安装了客户端SDK(由于与InstallAnywhere安装程序和Windows 8明显不兼容,我无法安装clientsdk.3.70.FC7DE,在同事的推荐下我安装了clientsdk.3.50.FC9)
- 通过 ODBC 验证与数据库的连接
- 使用 testconn40.exe 工具验证了连接性。
添加了以下连接字符串:
<add name="OpenNet" connectionString="Database=*****; Server=*****:40411;User ID=*****;Password=******;Persist Security Info=True;Authentication=Server;" providerName="IBM.Data.Informix"/>
当我尝试查询数据库时,我收到带有以下消息的 System.Data.ProviderIncompatibleException:“在‘IBM.Data.Informix.IfxFactory’类型的商店提供者实例上调用‘GetService’方法后返回了空值。商店提供商可能无法正常运行。”
我反编译了 IBM.Data.Informix.IfxFactory 并发现以下内容:
Type type = Type.GetType("IBM.Data.Informix.Entity.IfxProviderServices,
IBM.Data.Informix.Entity, Version=9.7.4.4,
Culture=neutral, PublicKeyToken=7c307b91aa13d208", false);
我在任何地方都找不到IBM.Data.Informix.Entity的程序集。也许它包含在我可以安装的后来的clientsdk.3.70.FC7DE版本中。谁能告诉我这是否可行,或者我是否在某个时候走错了路?