我尝试用来连接 informix 的连接字符串是否存在明显到半明显的问题。我一直在使用以下指南和不同的参数来尝试建立连接
https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.netpr.doc/ids_net_066.htm
由于 drda 协议要求,我无法使用 informix 的 .net 本机驱动程序。我可以构建一个系统 dsn 并直接调用它,效果很好。我试图找出是否可以跳过 ODBC 管理器中的 DSN 设置并将其放在配置文件中。我在构建使用 4.10 客户端的连接字符串时遇到问题。我的连接字符串如下
string connStr ="CursorBehavior=0;驱动程序=IBM INFORMIX ODBC DRIVER;DB_LOCALE=en_US.819;主机=xxx.xxx.xxx.xxx;服务器=;服务=31012;UID=informix;密码=xxxxxxx;协议=olsoctcp ;DB=xxxx;池化=false";
错误是: Message=ERROR [HY000] [Informix][Informix ODBC 驱动程序][-11302] 提供的连接信息不足 错误 [01S00] [Informix][Informix ODBC 驱动程序]连接字符串属性无效。 错误 [01S00] [Informix][Informix ODBC 驱动程序]连接字符串属性无效。 错误 [01S00] [Informix][Informix ODBC 驱动程序]连接字符串属性无效。 错误 [01S00] [Informix][Informix ODBC 驱动程序]连接字符串属性无效。 错误 [HY000] [Informix][Informix ODBC 驱动程序][-11302] 提供的连接信息不足
我不确定这是否是连接字符串中有意或无意的遗漏,但需要服务器属性的值。不提供值很可能会导致 -11302 错误。该值应对应于 Informix 服务器 onconfig 文件中指定的 DBSERVERNAME 或 DBSERVERALIAS 值之一,并且还与使用 tcp 端口 31012 的服务器 sqlhosts 文件中的条目匹配。
尝试将驱动程序名称括在大括号中,如下所示:
驱动程序 = {IBM INFORMIX ODBC 驱动程序}; ...
我们非常高兴地通知您,现已为 IBM Informix 数据库编写了 .NET Core 库。加入我们作为贡献者。
适用于 .NET Core 的 Arad Informix 数据库提供程序。该软件包包含连接到 Informix 数据库服务器所需的所有必需的本机库和资源文件。