0

我在 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 有线协议驱动程序]编号包含无效字符:?

现在,当然,我在 Visual Studio 和参数化查询中使用数据源。所以,是的,如果它试图将它作为直接SQL 运行,而不是像它应该的那样填充参数,那么在数字字段中会有一个问号。我的问题是:为什么相同的 .exe 在同一个地方由具有更高权限的用户运行会引发错误?

4

2 回答 2

0

您是否用零 (0) 初始化整数变量。进行中的问号表示未知值。

于 2014-08-19T18:17:24.243 回答
0

如果您仍然遇到问题或尚未验证解决方案,请查看有关 SQL 跟踪知识库文章,以确保这些语句的解释/执行是正确的。

如果 SQL 语句的所有内容都相同,那么问题很可能与 .exe 的运行方式有关。根据 .exe 的运行方式,可能会填充字母字符而不是数字输入。

于 2014-08-19T17:19:32.723 回答