我们正在开发一个使用 asp.net-mvc (.net 4) 的报告应用程序。我们通过 DDTEK.Sybase 中间件连接到 Sybase ASE 12.5 数据库。
我们在将数据拉入数据读取器(来自存储过程)时遇到问题。存储过程通过求和、计数和调用其他存储过程来计算值(大约 50 列)。
我们遇到的问题是......某些(可能是 5% 的列)返回 NULL 或 0。如果我们调试并复制用于数据读取器的 SQL 语句并在另一个 SQL 工具中运行它,我们得到所有有效所有列的值。
conn = new SybaseConnection
{
ConnectionString = ConfigurationManager.ConnectionStrings[ConnectStringName].ToString()
};
conn.Open();
cmd = new SybaseCommand
{
CommandTimeout = cmdTimeout,
Connection = conn,
CommandText = mainSql
};
reader = cmd.ExecuteReader();
// AT THIS POINT IMMEDIATELY AFTER THE EXECUTEREADER COMMAND
// THE READER CONTAINS THE BAD (NULL OR 0) DATA FOR THESE COLUMNS.
DataTable schemaTable = reader.GetSchemaTable();
// AT THIS POINT WE CAN VIEW THE DATATABLE FOR THE SCHEMA AND IT APPEARS CORRECT
// THE COLUMNS THAT DON'T WORK HAVE SPECIFICATIONS IDENTICAL TO THE COLUMNS THAT DO WORK
有人在使用 Sybase 和 ADO 时遇到过这样的问题吗?
谢谢,约翰K。