Ошибка 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()")

Я надеюсь, это поможет.

Другие вопросы по тегам