Informix" Invalid Argument"连接字符串的异常

时间:2011-11-15 10:19:46

标签: database ado.net connection-string informix

我一直在网上寻找解决我问题的日子,我找不到任何有关我为何会遇到这个问题的提示。

例外是: System.ArgumentException:参数无效

我正在使用 IBM.Data.Informix.dll 版本 9.0.0.2 ,连接字符串已通过多种排列,但基于IBM和在线的大多数示例这就是我所拥有的:

Database=testdb; Host=10.0.0.123; Server=test; Service=3013; User Id=testuser; Password=test123; Protocol=onsoctcp;

我尝试将Service设置为服务名称,我已将其删除,甚至尝试将服务器设置为IP而不是主机。无论我做什么,它都会不断提出一个无用的异常,这对调试没有任何帮助。

我在实例化时使用IfxConnection类:

using System.Data;
using IBM.Data.Informix;

namespace InformixTest
{
    public class InformixConnectionFactory : IConnectionFactory<IDbConnection>
    {
        private string connectionString;

        public InformixConnectionFactory(string connectionString)
        {
            this.connectionString = connectionString;
        }

        public IDbConnection GetConnection()
        {
            return new IfxConnection(connectionString);
        }
    }
}

每次进入新的IfxConnection(connectionString)时抛出异常,都会通过web.config ConnectionStrings部分注入连接字符串。我也瞄准.net 4,这是一个问题。

我正在使用 v9.5fp4_nt32_dsdriver_EN.exe 安装程序来安装驱动程序,一旦有人遇到类似问题,我确实读过某个地方,因此他们安装了Informix Client SDK,修复了他们的问题。我也做了同样但没有这样的运气。

我使用以下网站作为我的连接字符串外观的参考:

http://www.ibm.com/developerworks/data/library/techarticle/dm-0510durity/ http://stackoverflow.com/questions/611345/connection-string-for-informix-for-net

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:1)

你的连接字符串在我的机器上运行。我在IfxConnection上遇到了很多问题,因为我还先安装了驱动程序。然后我unistalled驱动程序和客户端sdk,重新启动Windows并再次安装客户端sdk。以防我再次重启Windows。这样做对我来说。

此外,我认为您应该切换(如果可能)到Informix的IBM Data Server .NET Provider,因为旧的informix驱动程序将不再被增强。在这里查看比较:

http://www.ibm.com/developerworks/data/library/techarticle/dm-1007dsnetids/index.html

您会发现“Informix服务器支持”和“支持.NET framework 3.0,3.5”功能非常重要,旧驱动程序不支持它。另外,文章没有提到旧驱动程序不支持数据库元数据检索。