0

我正在尝试使用 .Net Core(使用 IBM.Data.DB2.Core)按照以下代码从 .Net Core 3.1 Azure 函数连接到 DB2,但是当我在本地运行时,当我点击连接时出现以下错误。打开() :

System.ArgumentOutOfRangeException:长度不能小于零。(参数“长度”)在 IBM.Data.DB2.Core.DB2Connection.Open() 在 DB2Test.Function1 的 IBM.Data.DB2.Core.DB2ConnPool.Open(DB2Connection connection, String& szConnectionString, DB2ConnSettings& ppSettings, Object& ppConn)。在 C:\Users\cmere\source\repos\DB2Test\DB2Test\Function1.cs:line 46 中运行(HttpRequest req,ILogger 日志)

使用 IBM.Data.DB2.Core;{

           DB2ConnectionStringBuilder connStringBld = new DB2ConnectionStringBuilder();
           connStringBld.Database = "DBNAME";
           connStringBld.UserID = "USERID";
           connStringBld.Password = "Pa%%w0rd";
           connStringBld.Server = "xx.xx.xx.xx:xxx";
           connStringBld.Authentication = "SERVER";
           connStringBld.ClientApplicationName = "TEST";
           connStringBld.ClientWorkstationName = "TEST";
           connStringBld.DBName = "DBNAME";
           connStringBld.Pooling = true;
           connStringBld.ProgramId = "12345";

           DB2Connection myConn = new 
           DB2Connection(connStringBld.ConnectionString);

           myConn.ClientUser = "AISSRVCDEV";
           myConn.SetConnectionString(myConn);
           myConn.ConnectionString = myConn.ConnectionString;
           myConn.ClientAccountingInformation = "TEST";
           myConn.ClientCorrelationToken = "TEST";
           myConn.ClientProgramName = "TEST";


           try
           {
                myConn.Open();
           }
           catch (Exception ex)
           {
            return new ObjectResult(ex.ToString());
           }
           return new OkObjectResult("OK");
    }  

任何帮助将不胜感激,IBM 文档不存在!提前致谢。迪诺

4

2 回答 2

0
 Length cannot be less than zero. (Parameter 'length') at IBM.Data.DB2.Core.DB2ConnPool.Open(

根据这个,我假设这是一个相关的连接池。尝试设置connStringBld.Poolingfalse

于 2020-06-11T16:40:59.910 回答
0

您使用的是 .NET Core 3.1 的 Alpha 版还是 Beta 版?

此问题已在 Beta 版本中修复。

于 2020-06-11T16:55:41.730 回答