0

Oracle テーブルに対して sqlplus でこのクエリを実行すると、結果が返されます。

SELECT * FROM KEYNOTE_PRD WHERE KEYNOTE_PRD."Site"='High Frequency NY Traffic'

しかし、私はR内の次のコードと同じようにしようとしています:

tryCatch({
  ch=odbcConnect("<id>",pwd = "<passwd>")
  sql<-c("SELECT * FROM KEYNOTE_PRD WHERE KEYNOTE_PRD."Site"='High Frequency NY Traffic'")
  res<-sqlQuery(ch, sql)

},error = function(e) {
  print(odbcGetErrMsg(ch))

  print("retrive or connect to the db")
})
odbcClose(ch)

それは動作しません。二重引用符内の二重引用符 (KEYNOTE_PRD."Site") が気に入らないと思います。どうすればこれを回避できますか?

4

2 に答える 2

0

これは、オラクルに慣れていない人に役立ちます。答えはとてもシンプルでした。列名を大文字に変更すると、この問題は解決しました。これはオラクルに違いない。

tryCatch({
  ch=odbcConnect("<id>",pwd = "<passwd>")
  sql<-c("SELECT * FROM KEYNOTE_PRD WHERE KEYNOTE_PRD.SITE='High Frequency NY Traffic'")
  res<-sqlQuery(ch, sql)

},error = function(e) {
  print(odbcGetErrMsg(ch))

  print("retrive or connect to the db")
})
odbcClose(ch)
于 2013-05-22T13:54:01.120 に答える