服务器操作系统:windows server 2012 r2 64位
DB2数据库:32位
IBM.Data.DB2.dll 9.7.4.4
问题是这样的,使用IIS部署网站是可以操作DB2数据库,但是使用应用程序就报错
错误好下:
方法:DB2TEST
程序异常,订单号:201901150016; 异常:异常消息:长度不能小于 0。
参数名: length
异常类型:System.ArgumentOutOfRangeException
异常方法:Open
异常源:IBM.Data.DB2
异常堆栈: 在 IBM.Data.DB2.DB2ConnPool.Open(DB2Connection connection, String& szConnectionString, DB2ConnSettings& ppSettings, Object& ppConn)
在 IBM.Data.DB2.DB2Connection.Open()
在 ASD.OA.DataHelper.DB2Helper.get_connection()
在 ASD.OA.DataHelper.DB2Helper.GetDataTable(String sql)
在 ConsoleInfo.Oms2Sap.GetZtsd035(String gppno)
在 ConsoleInfo.Oms2Sap.DB2TEST()
时间:2019/1/30 9:26:25
程序代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ASD.OA.DataHelper;
using System.Data;
namespace JobTest
{
public class Program
{
DB2Helper DB2Helper = new DB2Helper();
static void Main(string[] args)
{
Program _Program = new Program();
try
{
Console.WriteLine(_Program.GetData());
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadKey();
}
public string GetZtsd035(string gppno)
{
StringBuilder sqlb = new StringBuilder();
sqlb.AppendFormat("SELECT * FROM SAPPRD.ZTSD035 WHERE GPPNO='{0}' and MANDT='810' ", gppno);
DataTable dt = DB2Helper.GetDataTable(sqlb.ToString());
if (dt != null && dt.Rows.Count > 0)
{
return "1";
}
return "0";
}
public string GetData()
{
string connectionString = "Server=172.18.1.80:5912;Database=PRD;UID=crmvip;PWD=cv2018";
string commandtext = "select * from SAPPRD.ZTSD035 where MANDT='810' AND GPPNO='1'";
using (IBM.Data.DB2.DB2Connection connection = new IBM.Data.DB2.DB2Connection(connectionString))
{
connection.Open();
IBM.Data.DB2.DB2Command command = new IBM.Data.DB2.DB2Command(commandtext, connection);
IBM.Data.DB2.DB2DataAdapter adapter = new IBM.Data.DB2.DB2DataAdapter(command);
DataSet ds = new DataSet();
adapter.Fill(ds);
connection.Close();
}
return "1";
}
}
}
请问下,这个问题解决了吗
同问,找不到解决方案