[問題] shiny mysql

看板R_Language作者 (零度空間)時間9年前 (2015/05/10 19:44), 9年前編輯推噓1(109)
留言10則, 1人參與, 最新討論串1/1
文章分類提示: - 問題: 當你想要問問題時,請使用這個類別 [問題類型]: 經驗諮詢(我想用R 連接某些資料庫,請問大家的經驗) [軟體熟悉度]: 請把以下不需要的部份刪除 使用者(已經有用R 做過不少作品) [問題敘述]: 請簡略描述你所要做的事情,或是這個程式的目的 ui.r textInput("a", "帳號: ", ""), textInput("b", "密碼: ", ""), d1<-c("course","mysql","world") selectInput("c", "選擇資料庫",choices =d1), server.r con <- dbConnect(MySQL(), user="input$a", password="input$b", dbname=input$c, host="l92.XXX.XXX.XXX") 這段要怎麼寫 似乎常碰到這種問題 底下這還是錯的 user=input$a, password=input$b, dbname=input$c, 或著 dbSendQuery(con,"insert into ceotable values(input$age,input$order))" 都會遇到 似乎沒好方法 [程式範例]: 張貼能夠重現錯誤的程式碼,可以幫助版友更快的幫你解決問題 程式碼可貼於以下網站: [環境敘述]: [關鍵字]: shiny RMySQL 選擇性,也許未來有用 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.230.244 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1431258260.A.A38.html

05/10 22:55, , 1F
你可以建立多個connection物件,每個對應到一個database
05/10 22:55, 1F

05/10 22:56, , 2F
也可以等request來的時候才建立connection<然後斷掉
05/10 22:56, 2F

05/11 00:38, , 3F
阿,應該也可以在request中使用dbGetQuery+SQL切換資料庫
05/11 00:38, 3F

05/11 00:38, , 4F
這樣應該最好
05/11 00:38, 4F
※ 編輯: psinqoo (111.249.18.48), 05/14/2015 12:18:25

05/14 15:26, , 5F
由使用者透過shiny傳送資料庫帳號密碼不是一個好主意
05/14 15:26, 5F

05/14 15:27, , 6F
直接把帳號密碼寫死在global.R + 權限管理比較好
05/14 15:27, 6F
是的,最後我把他寫死。 但是問題來了 insert 資料來是問題 dbSendQuery(con,"insert into ceotable values(22,'Y')") ageInput <- reactive({ x1<-paste("insert into ceotable values(",input$age,",","'","",input$order,"'",")",sep="") dbSendQuery(con,x1) }) 寫不進去 前面ui submitButton("送出") ※ 編輯: psinqoo (111.249.18.48), 05/14/2015 15:53:32

05/14 16:52, , 7F
你可以自己寫個connection pool,檢查連線是否有效
05/14 16:52, 7F

05/14 16:52, , 8F
無效就開一個新的連,這樣
05/14 16:52, 8F

05/14 16:52, , 9F
塞不進去你要檢查一下是什麼問題,如果是連線超時,就用
05/14 16:52, 9F

05/14 16:53, , 10F
上面我講的解法
05/14 16:53, 10F
文章代碼(AID): #1LJqIKeu (R_Language)
文章代碼(AID): #1LJqIKeu (R_Language)