Re: [問題] 與資料庫連結的問題
試著將錯誤訊息show出
1: In odbcDriverConnect("DSN=database_name;UID=uid;PWD=passwd") : [RODBC]
ERROR: state IM002, code 0, message [Microsoft][ODBC]ODBC connection failed
很明顯是與database的連結發生了問題
但這是透過php呼叫R才會發生
php本身與DB連結是ok的
R(利用Rscript或RStudio)與DB連結也ok
所以真的不知道是哪邊沒有設定到
※ 引述《Schematic (小小寶的媽)》之銘言:
: [問題類型]:
:
: 程式諮詢(我想用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://www.ptt.cc/bbs/R_Language/M.1453969293.A.662.html
推
02/02 07:13, , 1F
02/02 07:13, 1F
討論串 (同標題文章)
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章