r - 通过 ODBC 连接到 Firebird DB
问题描述
我正在尝试通过 ODBC 连接到 firebird DB。我有一个有效的 ODBC Windows 连接(ODBC 数据源 32 位),并且还通过 Tableau 建立了连接。我尝试使用 dbConnect 但无法设置我猜的正确参数。我试过了
library(odbc)
con <- dbConnect(odbc::odbc(),
drv = "Firebird/InterBase(r) driver",
database = "VARIO",
uid = "xxx",
pwd = "xxx",
host = "192.xxx.xxx.xx",
port = "xxxxx")
在例如 Excel 中,我可以使用已建立的 Windows 连接访问数据库。无论如何,对不起我的初学者配方!
在这里添加,看来我在 64 位 R 版本上运行
> Sys.info()[["machine"]]
[1] "x86-64"
在您发表评论后,我尝试了
con <- dbConnect(odbc::odbc(),
dsn = "VARIO",
database = "192.168.XX.X/56300:VARIO8",
uid = "XXX",
pwd = "XXX",
host = "192.168.XX.X",
port = "56300")
>Error: nanodbc/nanodbc.cpp:983: 01S00: [ODBC Firebird Driver]Unable to connect to data source: library 'C:\Users\XXX\Desktop\fbclient.dll' failed to load [ODBC Firebird Driver]Invalid connection string attribute [ODBC Firebird Driver]Invalid connection string attribute
fbclient.dll 在它应该在的地方
更何况我没有放司机。每当我广告
drv = "Firebird/InterBase(r) driver"
我得到:(函数(类,fdef,mtable)中的错误:无法为签名'“字符”'找到函数'dbConnect'的继承方法</p>
也许这有帮助?这来自 Windows ODBC 数据源,显示为 32/64 位。不知道这是否重要
还有什么想法吗?
解决方案
检查odbc
-known DB 驱动程序列表,Firebird 似乎不是已知驱动程序。
library(odbc)
odbc::odbcListDrivers()
(来源:https ://rdrr.io/cran/odbc/man/odbcListDrivers.html )
我猜您必须在您的机器上安装该驱动程序,然后注册数据源名称 (DSN)以使其对 R 可用。
完成后,请将drv
您的函数调用中的dsn
. drv
指的是odbc::odbc()
您在上面提供的参数,而dsn
应该通过其注册名称来引用已安装的驱动程序(除非我在这里把事情搞砸了。幸运的是,我从来没有离开过RPostgreSQL
......的温暖舒适) .
所以它看起来像这样:
library(odbc)
con <- dbConnect(drv = odbc::odbc(),
dsn = "Firebird", # this should be the DSN you have set
database = "VARIO",
uid = "xxx",
pwd = "xxx",
host = "192.xxx.xxx.xx",
port = "xxxxx")
推荐阅读
- php - 什么可能导致 xdebug 的 remote_host 设置被忽略
- r - 如何在评估他的内容后有条件地排除一个块?
- angular - 如何检查Angular反应形式中的所有复选框
- ms-access - MS-Access 中计数值的百分比
- javascript - 如何使用 JavaScript 将 csv 文件从 NetSuite 中的文件柜传递到 ftp 服务器?
- cordova - 升级到 Android Pie 后不会发生 onregistered 事件
- c - 如何设计测试用例来验证数据包解码器的节流能力?
- javascript - 如何在 React 应用程序中执行 Python 代码?
- awk - 如何使用 awk 连接特定行?
- google-cloud-platform - 如何删除大查询分区表?