<small id='GvVBc'></small><noframes id='GvVBc'>

        <bdo id='GvVBc'></bdo><ul id='GvVBc'></ul>
    1. <i id='GvVBc'><tr id='GvVBc'><dt id='GvVBc'><q id='GvVBc'><span id='GvVBc'><b id='GvVBc'><form id='GvVBc'><ins id='GvVBc'></ins><ul id='GvVBc'></ul><sub id='GvVBc'></sub></form><legend id='GvVBc'></legend><bdo id='GvVBc'><pre id='GvVBc'><center id='GvVBc'></center></pre></bdo></b><th id='GvVBc'></th></span></q></dt></tr></i><div id='GvVBc'><tfoot id='GvVBc'></tfoot><dl id='GvVBc'><fieldset id='GvVBc'></fieldset></dl></div>

      <tfoot id='GvVBc'></tfoot>
    2. <legend id='GvVBc'><style id='GvVBc'><dir id='GvVBc'><q id='GvVBc'></q></dir></style></legend>

      IBM.Data.DB2.Core 连接问题

      IBM.Data.DB2.Core connection problems(IBM.Data.DB2.Core 连接问题)
      <i id='m4mv9'><tr id='m4mv9'><dt id='m4mv9'><q id='m4mv9'><span id='m4mv9'><b id='m4mv9'><form id='m4mv9'><ins id='m4mv9'></ins><ul id='m4mv9'></ul><sub id='m4mv9'></sub></form><legend id='m4mv9'></legend><bdo id='m4mv9'><pre id='m4mv9'><center id='m4mv9'></center></pre></bdo></b><th id='m4mv9'></th></span></q></dt></tr></i><div id='m4mv9'><tfoot id='m4mv9'></tfoot><dl id='m4mv9'><fieldset id='m4mv9'></fieldset></dl></div>
      <tfoot id='m4mv9'></tfoot>
      • <bdo id='m4mv9'></bdo><ul id='m4mv9'></ul>

              <legend id='m4mv9'><style id='m4mv9'><dir id='m4mv9'><q id='m4mv9'></q></dir></style></legend>

                <tbody id='m4mv9'></tbody>

              1. <small id='m4mv9'></small><noframes id='m4mv9'>

              2. 本文介绍了IBM.Data.DB2.Core 连接问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我在连接到 DB2 时不断收到错误消息.但仅在已部署的(msi 打包或单击一次)应用程序上.(在同一台机器上)

                从 Visual Studio 2017 运行应用程序时一切正常.在调试或发布版本中.

                我在 Windows 10 上使用 nuget 的 1.3.0.100 版本的库

                我也在使用服务器的免费社区版本,最近在 win server 2012 r2 上下载安装.

                知道发生了什么吗?这显然在 IBM 代码中......

                我知道这没什么好做的,但希望有人以前遇到过这个问题.

                下面的堆栈:

                System.ArgumentOutOfRangeException:长度不能小于零.参数名称:长度在 IBM.Data.DB2.Core.DB2ConnPool.Open(DB2Connection 连接,String& szConnectionString,DB2ConnSettings& ppSettings,Object& ppConn)在 IBM.Data.DB2.Core.DB2Connection.Open()在 FrozenElephant.Symbiotic.DataProviderDB2.DatabaseTypesFactoryDB2.CreateConnection()在 FormDatabaseConnection.btnTestConnection_Click(对象发送者,EventArgs e)

                解决方案

                以答案的形式总结上面的发现,因为我可能有一段时间不会再详细说明我的评论了.

                这个问题似乎不是代码错误的结果,而是目标机器上的 DB2 连接器配置失败的结果,或者可能是应用程序的部署方式.需要通过查看连接器的可再分发部分的部署方式来确定罪魁祸首.

                那么你可能需要勾选显示所有文件"来确认部署中每个文件的状态:

                I keep getting a error when connecting to DB2. But only on the deployed (msi packaged or click-once) app. (And on the same Machine)

                Everything works perfectly when running the app from Visual Studio 2017. in either debug or release builds.

                I'm using libs from nuget for version 1.3.0.100 on windows 10

                I'm also using the free community version of the server, a recent download install on win server 2012 r2.

                Any idea whats going on? This obviously inside IBM code...

                I know this is not much to go on, but hoping someone has ran into this problem before.

                Stack Below:

                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) 
                

                解决方案

                Summarizing the findings above in the form of an answer, since I may not get back to elaborate on my comments for a while.

                It appears that this problem is the result not of a code error, but of the disposition of the DB2 connector on the target machine that fails, or perhaps in how the application is deployed. Deciding which is the culprit will need to be done by looking at how the redistributable parts of the connector are deployed.

                One user said that he "was not referencing the assemblies correctly in my application". A few possibilities this might indicate include:

                • A different version of the SDK is used for development compared to what is on the target machine
                • Perhaps multiple different assemblies of conflicting version or origin have been mixed
                • The assemblies may need to be deployed with the application, and not all are. This could be fixed by setting Copy Local = true for the relevant assemblies.
                • It might also be that the application is being compiled for a different platform than the client installed on the target machine (say, x64 version x86).

                Another person mentions the same error message arising from a similar, but slightly different, cause. This one says "It seems to be an installation issue. Some files are not found."

                In this case, you would probably be looking at reinstalling the client or diagnosing the install in another way. The second link above mentions a tool, testconn20, which may be available in the client you have installed. Your connection string might also offer some hints; if there's anything in it which might depend on the specific client you have installed, or its capabilities, that'd be another place to check.

                Edit:

                Per my comment below, you may be missing some files or folders from the ClickOnce deployment. If you determine that the clidriver folder, which has DB2-related files in it, is necessary for the application to function properly, you should check the build action, copy to output directory, and ClickOnce application files settings. The last one may be key. To check that, go to Publish in the project properties:

                Then you may need to check "Show all files" to confirm the status of each file in the deployment:

                这篇关于IBM.Data.DB2.Core 连接问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                相关文档推荐

                Generating an EDMX from a DB2 Database(从 DB2 数据库生成 EDMX)
                Datetime field overflow with IBM Data Server Client v9.7fp5(IBM Data Server Client v9.7fp5 的日期时间字段溢出)
                Using entity Framework with .NET Core and DB2(将实体框架与 .NET Core 和 DB2 结合使用)
                IBM .NET Data Provider Connection String issue with Library List(库列表的 IBM .NET 数据提供程序连接字符串问题)
                .NET DB2 OLEDB pre-requisites(.NET DB2 OLEDB 先决条件)
                Referring to Code in IBM.Data.DB2 makes that Assembly Unavailable to the rest of my Solution(引用 IBM.Data.DB2 中的代码使该程序集对我的解决方案的其余部分不可用)

                <legend id='O9RTv'><style id='O9RTv'><dir id='O9RTv'><q id='O9RTv'></q></dir></style></legend>
                  <bdo id='O9RTv'></bdo><ul id='O9RTv'></ul>

                  <i id='O9RTv'><tr id='O9RTv'><dt id='O9RTv'><q id='O9RTv'><span id='O9RTv'><b id='O9RTv'><form id='O9RTv'><ins id='O9RTv'></ins><ul id='O9RTv'></ul><sub id='O9RTv'></sub></form><legend id='O9RTv'></legend><bdo id='O9RTv'><pre id='O9RTv'><center id='O9RTv'></center></pre></bdo></b><th id='O9RTv'></th></span></q></dt></tr></i><div id='O9RTv'><tfoot id='O9RTv'></tfoot><dl id='O9RTv'><fieldset id='O9RTv'></fieldset></dl></div>

                  <tfoot id='O9RTv'></tfoot>
                    <tbody id='O9RTv'></tbody>

                  1. <small id='O9RTv'></small><noframes id='O9RTv'>