R connect to DB via JDBC

六月 27, 2018 by · Leave a Comment
Filed under: 技术, 数据处理 

 

使用JDBC连接数据库更通用,只要有对应数据库的JDBC driver,有Java环境,基本可以连上所有常见的数据库。所以我倾向于用客户端 Squirrel + jdbc 连接数据库进行一般的数据查询和处理。 R 中连接只需要以下几步。

R连接到Postgresql

查询用 dbGetQuery, DML语句用 dbSendQuery, DDL语句用 dbSendUpdate

library(RJDBC)
pDriver <- JDBC(driverClass=”org.postgresql.Driver”, classPath=”C:/Squirrel3.0/lib/postgresql-9.4.1211.jre6.jar”)
#pDriver <- JDBC(driverClass=”org.postgresql.util.PGJDBCMain”, classPath=”C:\\Squirrel3.0\\lib\\postgresql-9.4.1211.jre6.jar”)
pconn <- dbConnect(pDriver, “jdbc:postgresql://postgresql_svr_name_ip:5432/databasename?autosave=always”, “dbuser”, “password”)
input.data <- dbGetQuery(pconn, “select   * from pg_tables limit 10”)
dbDisconnect(pconn) #可有可无

========================

R连接到Vertica

library(RJDBC)
vDriver <- JDBC(driverClass=”com.vertica.jdbc.Driver”, classPath=”C:/Squirrel3.0/lib/vertica-jdbc-7.0.1-0.jar”)
vconn <- dbConnect(vDriver, “jdbc:vertica://vertica_svr_name_ip:5433/databasename”, “dbuser”, “password”)
input.data <- dbGetQuery(vconn, “select * from tables limit 10”)

========================

R连接到Oracle

library(RJDBC)
oDriver <- JDBC(driverClass=”oracle.jdbc.OracleDriver”, classPath=”C:\\Squirrel3.0\\lib\\ojdbc6.jar”)
oconn <- dbConnect(oDriver, “jdbc:oracle:thin:@oracle_svr_name_ip:1521:databasename”, “dbuser”, “password”)
input.data <- dbGetQuery(oconn,”select * from all_tables limit 10″)

========================

R连接到Mysql

mDriver <- JDBC(driverClass=”com.mysql.jdbc.Driver”, classPath=”C:/Squirrel3.0/lib/mysql-connector-java-5.1.46.jar”)
mconn <- dbConnect(mDriver, “jdbc:mysql://mysql_svr_name_ip:3306/databasename”, “dbuser”, “password”)
input.data <- dbGetQuery(mconn, “select * from information_schema.tables limit 10”)

========================

R连接到Microsoft Sqlserver

兼容mssql 2003之前的版本

mssDriver <- JDBC(driverClass=”com.microsoft.sqlserver.jdbc.SQLServerDriver”, classPath=”C:/Squirrel3.0/lib/mssqljdbc41.jar”)
mssconn <- dbConnect(mssDriver , “jdbc:sqlserver://mssql_svr_name_ip:1433;databaseName=databasename”, “dbuser”, “password”)
input.data <- dbGetQuery(mssconn , “select * from sysobjects limit 10”)

========================

R连接到Teradata

tDriver<- JDBC(driverClass=”com.teradata.jdbc.TeraDriver”, classPath=”C:/Squirrel3.0/lib/terajdbc4.jar;C:/Squirrel3.0/lib/tdgssconfig.jar”)
tconn <- dbConnect(tDriver, “jdbc:teradata://Tera_svr_name_ip/TMODE=TERA”, “username”, “password”)
input.data <- dbGetQuery(tconn,”select top 10 * from dbc.dbcinfo”)

 

所用到的jar包都在Squerriel/lib目录下。 下载 [小松鼠] Squirrel SQL Client Portable: https://1drv.ms/u/s!AtVaUU1SN60KhTXulW5JdrTNGF0E

如何连接到Informix

八月 6, 2012 by · 2 Comments
Filed under: 技术 

Informix数据库的连接管理工具并不广为人知,本文为备忘。该使用什么工具来连接?试用后个人觉得Server Studio够强大,使用要求也最多。

示例数据

IP: 192.161.21.19

Userid/passwd: informix01/informix001

dbname@servername: xxoo@night

连接字符串: jdbc:informix-sqli://192.161.21.19:1998/xxoo:INFORMIXSERVER=night;NEWCODESET=GBK,8859-1,819;DB_LOCALE=zh_cn.gb;

Read more

免安装Oracle客户端

十一月 20, 2010 by · 1 Comment
Filed under: 技术 

一直以来, 我用PL/SQL Developer连接某个数据库时总是提示 目标数据库或对象不存在 这样的错误, 让我很是不爽, 因为其他人都能连上, 我连其它类似的数据库也正常. 我修改了很多次tnsname.ora 文件, 也确认了很多次, 但问题依旧.

今天突然有个想法, 重新安装Oracle 客户端. 在准备下载软件时, 发现有即时客户端可选择. 也就是说不用去下载安装几百M的客户端了, 因为我只是需要连接上Oracle数据库, 而且是免安装的. 也好, 我下载了 Basic版本的, 50M, 解压, 然后再设置环境变量, 添加目录到Path路径, 沿用以前的 tnsnames.ora 文件, 现在连接就正常了. 可以把以前那客户端给删了.

网上也有所谓的更为精简的绿色版Oracle客户端, 我觉得一般来说没必要, 还是用官网提供的比较合适. 到这里下载 : http://www.oracle.com/technology/global/cn/tech/oci/instantclient/index.html
Read more

无觅相关文章插件,快速提升流量