1

使用 TestComplete 的 javascript 引擎创建到远程 Oracle 11.2.0.3 服务器的 TADOConnection。该查询是一个简单的选择,带有一些基本的 where 子句:

Select * FROM MyUser.MyTable WHERE MyName = 'NAME' AND MyId like '1111%'

执行命令时,它会失败并遇到异常并显示“未指定错误”的有用消息

奇怪的是:其他几个选择、删除、插入......使用所有相同的连接逻辑都可以正常工作。如果我将 * 更改为列名,同样的查询甚至可以工作:

Select MyCol1, MyCol2, MyCol3 FROM MyUser.MyTable WHERE MyName = 'NAME' AND MyId like '1111%'

虽然这是一种解决方法,但这些表有大量的列,我希望 * 按预期工作。任何想法可能导致查询失败?

此外,从 sqlcmd 和 sqldeveloper 运行查询都会运行并返回正确的结果。

4

1 回答 1

2

这意味着该表包含一个或多个具有您使用的 OLE DB 提供程序不支持的数据类型的字段。要找出究竟是哪些字段有问题,您可以将字段一一添加到查询中并检查它是否有效。找到有问题的字段后,您必须在 Select 子句中列出除这些字段之外的所有字段。

此外,如果您使用的是 Microsoft 的提供程序 ( provider=MSDAORA ),请尝试将其更改为 Oracle 本地提供程序 ( provider=OraOLEDB.Oracle )。

于 2013-08-08T06:00:55.360 回答