我正在嘗試使用RODBC軟件包從使用R的Oracle數據庫查詢數據。似乎有很多關於從R訪問MySQL數據庫的文檔,但是在Oracle數據庫上沒有太多信息。如何連接到R中的Oracle數據庫?
如何爲我的Oracle數據庫創建DSN?
任何幫助將不勝感激。 謝謝,
我正在嘗試使用RODBC軟件包從使用R的Oracle數據庫查詢數據。似乎有很多關於從R訪問MySQL數據庫的文檔,但是在Oracle數據庫上沒有太多信息。如何連接到R中的Oracle數據庫?
如何爲我的Oracle數據庫創建DSN?
任何幫助將不勝感激。 謝謝,
我發現從R連接到Oracle實際上存在一些挑戰。它可能就是IM我們在我的公司擁有的分層和設置,但這是我做的工作。
library(RODBC)
ch=odbcConnect("<AliasForYourDatabase>",pwd = "xxxxxxxx", believeNRows=FALSE)
odbcGetInfo(ch)
對我來說,關鍵的一步是'believeNRows=FALSE'
否則我時,我提交了一個查詢中收到以下錯誤:
「錯誤.CALL(C_RODBCFetchRows,ATTR(通道, 「handle_ptr」),MAX,BUFFSIZE ,: 負長度的矢量不準」
這是因爲甲骨文沒有提供實際的行數回連接
下面是我爲我們的網站開發的說明:
注意:必須將Basic Instant Client和ODBC Instant Client軟件包解壓縮到同一個目錄中。例如,C:\ Oracle \ instantclient_11_1。
甲骨文下載站點:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
添加所提取的文件的路徑環境變量的位置(例如C:\ ORACLE \ instantclient_11_1) 一個。右鍵點擊桌面上的「我的電腦」,點擊「管理」。 b。右鍵點擊「計算機管理(本地)」,點擊「屬性」。 c。在高級選項卡上,單擊「環境變量」下的設置按鈕。 d。在「系統變量」下找到「路徑」條目並單擊編輯按鈕。 e。將位置路徑添加到「變量值」框的末尾。請注意,項目由分號分隔。 f。點擊OK確認更改。關閉「計算機管理」窗口。
雙擊即時客戶端目錄中的odbc_install.exe文件。
打開C:\窗口\ system32 \ odbcad32.exe的
添加Oracle數據庫的數據源。 a。點擊添加按鈕 b。選擇「instantclient11_1中的Oracle」,然後單擊完成。 c。在Oracle ODBC驅動程序配置對話框中輸入以下內容: 數據源名稱:DSN 描述:Roacle(或其他) TNS服務名稱:SERVER:1521/DSN - 更改此 用戶ID:您的oracle用戶名 d。點擊測試連接按鈕。系統會提示您輸入密碼,如果一切順利,您將收到「連接成功」消息。
然後,您可以創建R中有一個通道:對這個老問題
odbcConnect(dsn, uid = uid, pwd = pwd, readOnly = TRUE)
萬一別人絆倒和需要幫助連接Oracle和R,這個PDF充分說明了過程,並提供必要下載信息。
{} http://cran.fhcrc.org/web/packages/RODM/RODM.pdf
感謝您的詳細程度 – tamersalama 2013-02-13 21:48:54