将值插入链接服务器(ODBC)

时间:2018-02-08 09:50:02

标签: mysql sql oracle odbc

我有一个通过ODBC连接到oracle db的sql server。

在sql框中,我使用以下命令运行查询以提取数据:

EXEC ('SELECT * FROM dbName.tableName') AT [LinkedServer];

这将返回包含列名等的完整表

我现在正尝试使用以下值更新表:

EXEC ('INSERT INTO dbName.tableName (VALUE_ID, VALUE_NAME, VALUE_SITE, ACTIVE) VALUES ("18", "TEST", "3", "Y")') AT [LinkedServer];

有了这个,我得到以下内容:

  

返回链接服务器“LinkedServer”的OLE DB提供程序“MSDASQL”   消息“[Oracle] [ODBC] [Ora] ORA-00984:此处不允许列”。

从表中选择all后,我可以确认它存在,并且这些列名下存在值。

我已经读过这个问题可能是由于使用列名作为值引起的,但这是一个很好的例子。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

正如所建议的那样,因为EXEC被包装在单引号中,我错误地将值包装在双引号中。我测试了2个单引号和这个已解决的问题。