借助 RODBC 包中的功能,我已成功创建 ODBC,但在尝试查询数据库时收到错误消息。我正在使用 INFORMIX 3.31 32 位驱动程序(版本 3.31.00.10287)。
channel <- odbcConnect("exampleDSN")
unclass(channel)
[1] 3
attr(,"connection.string")
[1] "DSN=exampleDSN;UID=user;PWD=****;DB=exampleDB;HOST=exampleHOST;SRVR=exampleSRVR;SERV=exampleSERV;PRO=onsoctcp ... (more parameters)"
attr(,"handle_ptr")
<pointer: 0x0264c098>
attr(,"case")
[1] "nochange"
attr(,"id")
[1] 4182
attr(,"believeNRows")
[1] TRUE
attr(,"colQuote")
[1] "\""
attr(,"tabQuote")
[1] "\""
attr(,"interpretDot")
[1] TRUE
attr(,"encoding")
[1] ""
attr(,"rows_at_time")
[1] 100
attr(,"isMySQL")
[1] FALSE
attr(,"call")
odbcDriverConnect(connection = "DSN=exampleDSN")
当我尝试查询和调查返回对象的结构时,我收到一条错误消息“chr [1:2]“42000 -201 [Informix][Informix ODBC 驱动程序][Informix]发生语法错误。” ...'
具体来说,我编写了一个表达式来遍历数据库中的所有表,检索 10 行,并调查返回对象的结构。
for (i in 1:153){res <- sqlFetch(channel, sqlTables(channel, tableType="TABLE")$TABLE_NAME[i], max=10); str(res)}
每次迭代都返回相同的错误消息。任何想法从哪里开始?
附加信息:当我返回对象“res”时,我收到以下信息 -
> res
[1] "42000 -201 [Informix][Informix ODBC Driver][Informix]A syntax error has occurred."
[2] "[RODBC] ERROR: Could not SQLExecDirect 'SELECT * FROM \"exampleTABLE\"'"