我試圖從R/Mac/Linux連接到Microsoft SQL Server,並且我有問題與RJDBC。當我下載了Microsoft的驅動程序和JTDS,但沒有以下行的工作:在Mac/Linux上從R連接到MS SQL Server
library(RJDBC)
drv <- JDBC("com.microsoft.sqlserver.jdbc.SQLServerDriver",
"/Users/victor/Downloads/sqljdbc_3.0/enu/sqljdbc4.jar")
drv1 <- JDBC('net.sourceforge.jtds.jdbc.Driver',
"/Users/victor/Downloads/jtds-1/jtds-1.3.0.jar")
每一個返回以下錯誤信息:
Error in .jfindClass(as.character(driverClass)[1]) : class not found
我懷疑問題可能是錯誤的Java版本:我的默認java是
$ java -version
java version "1.7.0_11"
Java(TM) SE Runtime Environment (build 1.7.0_11-b21)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)
但我也有我的機器上安裝了Jave 1.6。我安裝了SquirrelSQL,並使用JTDS驅動程序連接到MS SQL Server,沒有任何問題; SquirrelSQL運行的Java版本是1.7.0.11。
我已經運行R CMD javareconf
結果如下:
$ R CMD javareconf
Java interpreter : /usr/bin/java
Java version : 1.7.0_11
Java home path : /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home/jre
Java compiler : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
Java library path:
JNI linker flags : -framework JavaVM
JNI cpp flags : -I$(JAVA_HOME)/include
Updating Java configuration in /Library/Frameworks/R.framework/Resources
Done.
和刪除/安裝再次RJDBC和rJava包,仍然沒有什麼作品。
我想我現在被卡住了,因爲我不太熟悉Java/RJDBC及其交互。搜索谷歌沒有解決方案發現了幾個有類似問題的人。
任何有關如何使JDBC行爲的技巧,或任何其他方式從R連接到MS SQL Server將高度讚賞!
UPDATE 1。那麼,第一個陳述似乎現在工作 - 我得到一個連接,並可以查詢數據庫沒有任何問題。不知道什麼解決了問題 - 可能是我需要重新啓動我的Mac/R會話。第二條語句仍然不起作用,並帶有相同的錯誤消息。
當我從'R 3'改爲'pqR'時,出現了這個錯誤。我所能提供的解決方案是使用'locate sqljdbc4.jar'來查找需要加載的任何需求。 – isomorphismes