gpt4 book ai didi

r - 第一个参数不是开放的 RODBC channel

转载 作者:行者123 更新时间:2023-12-02 09:10:39 25 4
gpt4 key购买 nike

我正在通过 DNS 连接到 Oracle 数据库(在名为“数据库”的 tnsnames.ora 上设置连接)。

我能够成功运行以下代码:

con <- DBI::dbConnect(odbc::odbc(), 
"database",
UID = "user",
PWD = "password",
trusted_connection = TRUE)

我还可以通过以下方式成功列出数据库中的所有表:
list <- dbListTables(con)
View(list)

但是,当我运行时:
results <- sqlQuery(channel = con, query = "select * from myschemaname.table")

我收到错误:
Error in sqlQuery(channel = con, query = "select * from myschemaname.table") : 
first argument is not an open RODBC channel

我拥有所有者权限,并且还能够更新通过 ODBC 连接到该数据库的 Excel 电子表格。
如果它有任何用处,这里是 str(con) 的输出
str(con)
Formal class 'Oracle' [package ".GlobalEnv"] with 4 slots
..@ ptr :<externalptr>
..@ quote : chr "\""
..@ info :List of 13
.. ..$ dbname : chr ""
.. ..$ dbms.name : chr "Oracle"
.. ..$ db.version : chr "11.02.0040"
.. ..$ username : chr "user"
.. ..$ host : chr ""
.. ..$ port : chr ""
.. ..$ sourcename : chr "database"
.. ..$ servername : chr "database"
.. ..$ drivername : chr "SQORA32.DLL"
.. ..$ odbc.version : chr "03.80.0000"
.. ..$ driver.version : chr "11.02.0001"
.. ..$ odbcdriver.version : chr "03.52"
.. ..$ supports.transactions: logi TRUE
.. ..- attr(*, "class")= chr [1:3] "Oracle" "driver_info" "list"
..@ encoding: chr ""

最佳答案

您正在使用 RODBC::sqlQuery()对于使用 DBI::dbConnect() 创建的连接.要么使用 DBI::dbGetQuery()DBI::dbConnect()或与 RODBC::odbcConnect() 建立连接,并使用 RODBC::sqlQuery() .

关于r - 第一个参数不是开放的 RODBC channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52721747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com