作者Schematic (小小宝的妈)
看板R_Language
标题[问题] 与资料库连结的问题
时间Mon Jan 4 09:20:59 2016
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
将R与SOL server 2012连接(R程式与Database在同一台主机上)
在R Studio的command环境下执行都没问题,能正常的存取资料库并做运算
但若透过网路,从另外一台电脑呼叫RScript的话,就无法执行後续的查询动作
[程式范例]:
odbcChannel <- odbcConnect("Database_name", uid="uid", pwd="pwd")
query <- c("select * from table_name")
sqlQuery(odbcChannel, query) <-- RStudio ok,透过PHP呼叫执行的话就会卡住
有考虑过是不是DSN写入的地方出问题
试过以下几种设定仍是不行
odbcChannel <- odbcConnect("localhost/Database_name", uid="uid", pwd="pwd")
odbcChannel <- odbcConnect("localhost/Server_name/Database_name",
uid="uid", pwd="pwd")
另外,在RStudio里面query若有中文也能正常运作,但一样透过PHP呼叫script就不行
ex:
query <- c("select field_name as 中文 from table_name")
[环境叙述]:
R version 3.2.3 (2015-12-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows Server >= 2012 x64 (build 9200)
locale:
[1] LC_COLLATE=Chinese (Traditional)_Taiwan.950
[2] LC_CTYPE=Chinese (Traditional)_Taiwan.950
[3] LC_MONETARY=Chinese (Traditional)_Taiwan.950
[4] LC_NUMERIC=C
[5] LC_TIME=Chinese (Traditional)_Taiwan.950
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] magrittr_1.5 tidyr_0.3.1 ggplot2_2.0.0 MASS_7.3-45 RODBC_1.3-12
loaded via a namespace (and not attached):
[1] Rcpp_0.12.2 dplyr_0.4.3 assertthat_0.1 grid_3.2.3
[5] plyr_1.8.3 R6_2.1.1 gtable_0.1.2 DBI_0.3.1
[9] scales_0.3.0 tools_3.2.3 munsell_0.4.2 parallel_3.2.3
[13] colorspace_1.2-6
[关键字]:
SQL server 2012
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.159.193
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1451870461.A.075.html
1F:→ Wush978: 权限一样吗? 01/04 10:47
2F:→ Wush978: 请问有没有卡住的错误讯息? 01/04 10:47
3F:→ Schematic: 权限一样。我是用土法炼钢知道程式跑到这行就无法继续 01/04 11:29
4F:→ Schematic: 但不知道怎麽将错误讯息显示回PHP网页上>"< 01/04 11:30
5F:→ Wush978: 你看一下,php的exec怎麽抓取process印到stderr的资讯 01/04 12:41