[問題] 與資料庫連結的問題

看板R_Language作者 (小小寶的媽)時間9年前 (2016/01/04 09:21), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/3 (看更多)
[問題類型]: 程式諮詢(我想用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.1451870461.A.075.html

01/04 10:47, , 1F
權限一樣嗎?
01/04 10:47, 1F

01/04 10:47, , 2F
請問有沒有卡住的錯誤訊息?
01/04 10:47, 2F

01/04 11:29, , 3F
權限一樣。我是用土法煉鋼知道程式跑到這行就無法繼續
01/04 11:29, 3F

01/04 11:30, , 4F
但不知道怎麼將錯誤訊息顯示回PHP網頁上>"<
01/04 11:30, 4F

01/04 12:41, , 5F
你看一下,php的exec怎麼抓取process印到stderr的資訊
01/04 12:41, 5F
文章代碼(AID): #1MYSZz1r (R_Language)
文章代碼(AID): #1MYSZz1r (R_Language)