まず、RANを使用してHANAデータベースからSQLクエリ結果を取得する必要があります。shinyapps.io、rodbcを使用してwebでsqlクエリの結果を表示するときに "first argument"エラーが発生する
他にも私のコードを他人と共有する必要があります。私はshinyapps.ioを使ってこれを完成させます。
はしかし、私は次のエラーメッセージを持っている他のコンピュータ上で私のSQLクエリの結果を表示するためにshinyappsを使用する必要があります。
error first argument is not an open rodbc channel
私はR shiny RODBC connection Failingからの回答を使用し、それはまだ動作しません。ここで
はui.Rとsever.Rのための私のコードが添付されていますui.R:
library(dplyr)
library(RODBC)
library(stringr)
library(ggplot2)
fluidPage(
titlePanel("Basic DataTable"),
fluidRow(
DT::dataTableOutput("table")
)
)
sever.R:
library(dplyr)
library(RODBC)
library(stringr)
library(ggplot2)
ch<-odbcConnect('HANARB1P',uid='****',pwd='****')
options(scipen = 200)
myOffice <- 0
StartDate <- 20170601
EndDate <- 20170610
office_clause = ""
if (myOffice != 0) {
office_clause = paste(
'AND "_outer"."/BIC/ZSALE_OFF" IN (',paste(myOffice, collapse=", "),')'
)
}
function(input, output) {
output$table <- DT::renderDataTable(DT::datatable({
data <- sqlQuery(channel=ch,query=paste(' SELECT TOP 100
"/BIC/ZSALE_OFF" AS "SalesOffice",
"/BIC/ZHASHPAN" AS "CreditCard"
FROM "SAPB1P"."/BIC/AZ_RT_A212"
WHERE "CALDAY" BETWEEN',StartDate,'AND',EndDate,'
',office_clause,'
'))
data
}))
}
でした誰も私をここで助けてください? shinyapps.ioとRODBCを使用してSQLクエリの結果をWebページに表示して共有するにはどうすればいいですか?
答えによれば、コードを少し修正しました。しかし、疲れていた。私はコードを使用する場合:
:私はエラー情報を持っているshinyServer(
function(input, output) {
data <- sqlQuery(channel=ch,query=paste(' SELECT TOP 50
"/BIC/ZSALE_OFF" AS "SalesOffice",
"/BIC/ZHASHPAN" AS "CreditCard"
FROM "SAPB1P"."/BIC/AZ_RT_A212"
WHERE "CALDAY" BETWEEN',StartDate,'AND',EndDate,'
',office_clause,'
'))
output$table <- DT::renderDataTable(data)
}
)
:
私はコードを使用します。
function(input, output) {
output$table <- DT::renderDataTable(DT::datatable({
data <- sqlQuery(channel=ch,query=paste(' SELECT TOP 50
"/BIC/ZSALE_OFF" AS "SalesOffice",
"/BIC/ZHASHPAN" AS "CreditCard"
FROM "SAPB1P"."/BIC/AZ_RT_A212"
WHERE "CALDAY" BETWEEN',StartDate,'AND',EndDate,'
',office_clause,'
'))
data
}))
}
を私はエラー情報を持っています
チャンネルが機能していると確信しています。私はこれを行うために実行するアプリを使用する場合:
shiny::runApp('//paper/fchen4/feng.officeworks/mycode/myShiny')
をそれは正常に動作します。しかし、私は会社で働いていますが、私はファイアウォールかsthがこのエラーと関係があるかもしれないかどうかわかりません。しかし、ここでSQLを使用しないとOKです。
誰も私を助けてくれませんか?
Lars Br。の答えに感謝します。しかし、私はまだ何か問題があります。私は次のステップで自分のログイン情報を隠します。 shiny :: runApp( '/ paper/fchen4/feng.officeworks/mycode/myShiny')を使用するとチャンネルが正常に機能していると確信しています。もう一度見てみてください。私はあなたの答えに基づいていくつかの新しいフィードバックを追加します。 –
まず、SHINYサーバとHANAの間の接続が機能していることを確認する必要があります。あなたの 'HANARB1P'のようなODBC DSNは通常、OSユーザに依存しています。したがって、SHINYサーバー部分が別のマシンおよび/または別のユーザーで実行されている場合、このDSNもこのユーザー用に設定する必要があります。 –
私はhttps://www.shinyapps.io/のマニュアルに基づいてshinyapps.ioを使用しています。私はそれが別のマシンで動作すると思います。しかし、私はあなたが別のユーザーを意味するのか分からないのですか?私は、https://support.rstudio.com/hc/en-us/articles/225408367-Connecting-to-databases-using-RODBC-on-shinyapps-ioのようなodbcDriverConnectに関するいくつかの情報を見ました。 odbcDriverConnectを試してみるべきだと思いますか? –