我已经在vb.net中编写了一个程序,用于连接到Progress OpenEdge数据库的内部使用。现在我有一个非常奇怪的运行时问题。
我有一个.exe文件在我的本地C:驱动器,服务器的C:驱动器上运行,来自某个网络位置(但不是网络上的其他位置),对于至少两个普通用户来说就好了。问题在于,当我将其提交给我的IT经理进行审核时,她会将其退回并表示它甚至不会运行;在查看错误时,它似乎在第一个选择查询(在表单完成加载之前发生)失败。具体来说,它最终归结为以下错误:
System.Data.Odbc.OdbcException: ERROR [HY000] [DataDirect][ODBC Progress OpenEdge Wire Protocol driver]Number contains an invalid character: ?
错误[HY000] [DataDirect] [ODBC Progress OpenEdge Wire Protocol驱动程序] Number包含无效字符:?
现在,当然,我正在使用visual studio和参数化查询中的数据源。所以,是的,如果它试图将它作为直接 SQL运行而不是像它应该的那样填充参数,那么 是一个数字字段中的问号。我的问题是:为什么相同的.exe,在同一个地方,由具有更高权限的用户运行抛出错误?
答案 0 :(得分:0)
如果您仍然遇到问题或尚未验证解决方案,可以查看有关SQL跟踪的知识库文章,以确保这些语句的解释/执行是正确的。 http://ow.ly/AuM2L
假设SQL语句的所有内容都相同,问题很可能就是运行.exe的方式。根据.exe的运行方式,可能会填充字母字符而不是数字输入。
希望这有帮助!
答案 1 :(得分:0)
您是否使用零(0)初始化整数变量。正在进行的问号意味着未知的价值。