Ошибка RODBC для CURRENT_TIMESTAMP() - есть список допустимых ключевых слов?
Я отправил простой (так я думал) запрос через RODBC
:
ch <- odbcConnect(dsn.name, believeNRows=FALSE, rows_at_time=1)
sqlQuery(ch, "CURRENT_TIMESTAMP()")
И это бросило следующую ошибку:
[1] "42000? -1 Malformed SQL Statement: Unrecognized keyword: CURRENT_TIMESTAMP\r\nStatement:CURRENT_TIMESTAMP()"
[2] "[RODBC] ERROR: Could not SQLExecDirect 'CURRENT_TIMESTAMP()'"
я думал CURRENT_TIMESTAMP()
является обычной командой SQL и не ожидал, что она не будет запущена. Я проверил, поддерживает ли соединение ODBC (RSSBus DynamicsCRM Source x64) CURRENT_TIMESTAMP()
, Мое соединение в порядке, я смог выполнить некоторые другие запросы SQL.
Так есть ли проблема с моим синтаксисом выше? Или есть список ключевых слов, которые RODBC
не узнает?
1 ответ
В приведенном выше коде первая строка
ch <- odbcConnect(dsn.name, believeNRows=FALSE, rows_at_time=1)
создает соединение с вашим именем источника данных ODBC (dsn.name). Так вот ch
в основном хранит экземпляр соединения. Вторая строка:
sqlQuery(ch, "CURRENT_TIMESTAMP()")
выполняет запрос SQL на соединение, т.е. ch
и возвращает результат в кадре данных. Поэтому вместо использования метода CURRENT_TIMESTAMP()
используйте полный запрос:
sqlQuery(ch, "SELECT CURRENT_TIMESTAMP()")
Я надеюсь, это поможет.