【发布时间】:2019-11-05 19:48:45
【问题描述】:
我在连接到 DB2 时不断收到错误消息。但仅在已部署(msi 打包或单击一次)应用程序上。 (在同一台机器上)
从 Visual Studio 2017 运行应用程序时一切正常。无论是调试版本还是发布版本。
我在 Windows 10 上使用 nuget 的 1.3.0.100 版本的库
我也在使用服务器的免费社区版本,最近在 win server 2012 r2 上下载安装。
知道发生了什么吗?这显然在 IBM 代码中......
我知道这没什么好继续的,但希望有人以前遇到过这个问题。
下面的堆栈:
System.ArgumentOutOfRangeException: Length cannot be less than zero.
Parameter name: length
at IBM.Data.DB2.Core.DB2ConnPool.Open(DB2Connection connection, String& szConnectionString, DB2ConnSettings& ppSettings, Object& ppConn)
at IBM.Data.DB2.Core.DB2Connection.Open()
at FrozenElephant.Symbiotic.DataProviderDB2.DatabaseTypesFactoryDB2.CreateConnection()
at FormDatabaseConnection.btnTestConnection_Click(Object sender, EventArgs e)
【问题讨论】:
-
btnTestConnection_Click()中的代码是什么样的? -
只是用连接字符串打开一个连接,与 Dev/VS 中使用的相同。现在无法访问代码,但可以稍后提供。
-
看起来someone else 也有同样的问题,并且归结为程序集引用。也许检查是否安装了相同版本的客户端,也许看看你是否在运行复制本地。我不熟悉这个特定的连接器,但这可能是一个线索。
-
这里是another person,有类似的报告——安装似乎有某种问题,显然是在定位工厂类。
-
谢谢,我稍后会研究这个。仅供参考,我的问题都发生在同一台机器上。如果有人想要/愿意,他们可以尝试该应用程序并连接到任何 DB2/LUW 数据库。 APP 只加载架构信息(poco 创建工具)。 frozenelephant.com/symbiotic/publish.htm