preview version of RStudio 1.0で利用できるSQL chunk functionを使用して(DBIのRSQLServerバックエンドを使用して)SQLサーバーに接続しようとしていますが、変数を渡すのが難しいです。Rmarkdown sql chunkに変数を渡す
私は、サーバーに接続し、チャンクでクエリを置く場合、それは予想
```{r, eval = F}
svr <- dbConnect(RSQLServer::SQLServer(), "Server_name", database = 'Database_name')
query <- 'SELECT TOP 10 * FROM Database_name.dbo.table_name'
```
```{sql, connection = svr, eval = F}
SELECT TOP 10 * FROM Database_name.dbo.table_name
```
として動作しますが、私は変数としてクエリを渡すしようとした場合、それはエラー
```{sql, connection = svr, eval = F}
?query
```
Error: Unable to retrieve JDBC result set for 'SELECT TOP 10 * FROM Database_name.dbo.table_name': Incorrect syntax near 'SELECT TOP 10 * FROM Database_name.dbo.table_name'.
Failed to execute SQL chunk
をスローします
私は以下のコードを実行すると同じエラーが発生するので、Rが文字ベクトルを引用符で囲む方法に関係していると思います。
```{sql, connection = svr, eval = F}
'SELECT TOP 10 * FROM Database_name.dbo.table_name'
```
このエラーを回避する方法はありますか?
現在、私はusing inline expressions to print the query、using the pygments for highlightingでRをチャンクでDBIコマンドを実行しているので、コードチャンクを使用すると少しうまくいくはずです。
これは、私の質問に記載されているよりも便利な方法で出力をハイライト表示します。しかし、それは実行されていないように見えます。 – NGaffney