Skip to content

DamengDB/dmR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dmR

dmR是为在Linux下使用R语言进行达梦数据库操作、兼容ROracle接口的R语言工具包

兼容版本

R版本 DBI版本 dmR版本
3.3.0 + 1.0.0 + 1.2.0 +

主要功能

  • 连接达梦数据库
  • 执行SQL语句

安装dmR包(安装RDameng)

dmR包(RDameng包)在安装使用前源码目录下文件需要经过设置,然后打包使用。

1、环境安装

安装R与DBI。

2、通过源码安装注意事项

获取dmR源码,需要确认configure文件具有执行权限,如果configure不具备执行权限,需要在打包前设置,执行权限设置完成后打包成压缩包,该压缩包才是安装包,例如:

unzip dmR-1.2.0.zip 
mv dmR-1.2.0 RDameng
cd RDameng/
chmod +x configure
chmod +x cleanup 
cd ..
tar  -zcvf RDameng-1.2.0.tar.gz RDameng

3、开始安装

RDameng包安装有两种方式,可以根据情况自由选择安装方式。

在运行安装命令前,首要的准备工作是设置LD_LIBRARY_PATH包含libdmdci.so路径,例如当libdmdci.so在路径/path/to/libdmdci下时,运行命令:

export LD_LIBRARY_PATH=/path/to/libdmdci:$LD_LIBRARY_PATH

或者

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/libdmdci

3.1、方式一

通过设置环境变量DM_HOME进行编译。

设置环境变量$DM_HOME用于编译,例如DM_HOME=/opt/dmdbms时,文件结构即包含内容要求的示例如下:

/opt/dmdbms
├── include
│   ├── DCI1.h
│   └── DCI.h
├── bin
│   └── libdmdci.so

设置DM_HOME环境变量,示例如下:

export DM_HOME=/opt/dmdbms

设置DM_HOME后,可运行以下安装命令:

R CMD INSTALL /path/to/RDameng-1.2.0.tar.gz

3.2、方式二

通过设置--configure-args编译参数--with-dci-lib和--with-dci-inc进行编译。

--with-dci-lib需要指定包含libdmdci.so的绝对路径,--with-dci-inc需要指定包含头文件DCI.h和DCI1.h的绝对路径,文件结构示例:

Directory
├── dci_inc
│   ├── DCI1.h
│   └── DCI.h
├── dci_libs
│   └── libdmdci.so

确认libdmdci.so和头文件准备完毕后,再运行设置--configure-args编译参数方式的 RDameng 安装命令,示例如下:

R CMD INSTALL --configure-args='--with-dci-lib=/path/to/dci_libs --with-dci-inc=/path/to/dci_inc'  /path/to/RDameng-1.2.0.tar.gz

运行安装命令后,看到如下信息即表示安装成功:

*** installing help indices

** building package indices

** testing if installed package can be loaded

\* DONE (RDameng)

检查 RDameng 是否成功安装,如下所示:

library(DBI)
library(RDameng)

若安装成功,llibrary(RDameng)加载后应无警告或异常信息,若出现如下信息:

package or namespace load failed for ‘RDameng’ in dyn.load(file, DLLpath = DLLpath, ...): 

无法载入共享目标对象‘/path/to/R/R-3.x.x/library/RDameng/libs/RDameng.so’::

libdmdci.so: 无法打开共享对象文件: 没有那个文件或目录

则需要检查 LD_LIBRARY_PATH 设置是否指定了 DM DCI 库(libdmdci.so)的位置,例如

echo $LD_LIBRARY_PATH

libdmdci.so可在达梦数据官网下载中心获取。

开始使用

RDameng 包正确安装后,可运行如下 R 脚本,连接 DM 数据库,执行简单 SQL 语句,测试 RDameng 加载情况,脚本如下:

library(DBI)
library(RDameng)
dmdrv <- dbDriver("Dm")

#IP 地址
dmHost <-"127.0.0.1"
#数据库服务名称
dmServerName <- "DmServiceDMSERVER"
#用户名
dmUserName <-"SYSDBA"
#密码
dmPassword <-"Hust4400_DBA"
#拼写 TNS 字符串,达梦数据库默认端口 5236
dmconnect.string<-paste("(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=",dmHost,")(PORT=5236))(CO
NNECT_DATA=(SERVICE_NAME=", dmServerName, ")))", sep = "")
#连接达梦数据库
dmCon <- dbConnect(dmdrv,username = dmUserName, password = dmPassword,dbname = dmconnect.string )
#执行 SQL 语句
dbGetQuery(dmCon, paste("create table RTEST_TABLE(COLUMN_1 varchar2(50)) "))
dbGetQuery(dmCon, paste("insert into RTEST_TABLE values('Hello DM server') "))
dbGetQuery(dmCon, paste("select * from RTEST_TABLE ") )

执行结果:

COLUMN_1

1 Hello DM server 

About

DCI Based Dameng Database Interface for R——RDameg

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors