У меня есть сервер sql, который подключается к oracle db через ODBC.
В ящике 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];
С этим я получаю следующее:
Поставщик OLE DB "MSDASQL" для связанного сервера "LinkedServer" возвратил сообщение "[Oracle] [ODBC] [Ora] ORA-00984: здесь не разрешена колонка".
Выбрав все из таблицы, я могу подтвердить, что она существует, и значения существуют под этими именами столбцов.
Я прочитал, что эта проблема может быть вызвана использованием имени столбца в качестве значения, но здесь это не так.
Есть идеи?
Как было предложено, поскольку EXEC был обернут в одинарные котировки, я неправильно упаковал значение в двойные кавычки. Я тестировал две одинарные кавычки и эту разрешенную проблему.