我在使用 IIS、asp.net 和 ODBC 时遇到了一个奇怪的问题。我的应用程序是由 SQL 服务器通过 ODBC 驱动程序驱动的(我知道这是不好的做法,但我的整个 DAL 已经编写完毕,不会更改)。问题是,当我使用 Web 界面运行 SP 时,在生产服务器以外的任何其他计算机上它都可以正常工作,但在生产服务器上出现以下错误:
异常消息:System.Data.Odbc.OdbcException (0x80131937):错误 [42000] [Microsoft] [ODBC SQL Server Driver][SQL Server] 将数据类型 nvarchar 转换为 int 时出错
显然,当我在管理工作室下运行它时,它工作正常。我认为问题出在 IIS 和 odbc 驱动程序之间,但我不确定到底在哪里。
我正在运行 .net 框架 4。
这是调用方法:
ODBCComm command = new ODBCComm();
command.Query = "SP_web_update_calls_dest @id=?,@name=? ,@ivrCode=?,@DDI=?,@destType=?,@trkGroup=?,@result=? output";
command.AddInputParam(id);
return AddParamsAndExecute(name, ivrCode, DDI, destType, trkGroup, command);
它基本上包裹了arround:OdbcCommand.ExecuteDirect();
非常感谢,尤瓦尔。