配置ODBC DSN數據源,導出數據庫數據到Excel過程記錄
一、前言
工作中我們可能遇到這樣的需要:查詢數據庫中的信息,並將結果導出到Excel文件。這本來沒什麽,但數據量比較大時,用PLSQL、toad導出Excel會出現內存不足等情況,使用odbc+Microsoft query + Excel導出提數結果能在一定程度上避免這些問題。
環境:個人電腦8G內存,導出130W條記錄毫無壓力。
二、下載、安裝Oracle Database Client
Windows默認沒有按照Oracle的ODBC驅動,需要手動安裝,Oracle Database Client包含了Oracle ODBC驅動組件。
1、下載
地址:https://edelivery.oracle.com/osdc/faces/SearchSoftware
在搜索框中輸入oracle database client,然後選擇系統平臺為Windows 64,選定oracle database client ,然後按照提示,下載該組件
下載該組件,可能單擊 download,沒有反應,鼠標移動到要下載的軟件位置,可用右擊“目標另存為”方式下載要下載的組件
2、安裝
三、下載、安裝Instant Client
1、下載
打開鏈接:
http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html,
選擇適用於Windows32位系統的instant client即可,下載該組件
選擇下面兩個版本中的任何一項均可:
2、安裝
該組件直接解壓即可,無需安裝。解壓到某個指定的目錄下,在解壓後的文件目錄下創建子目錄/network/admin,並將配置好的tnsname.ora文件拷貝到該目錄下(或手動創建該文件並配置該文件,步驟略)
設置環境變量:
右擊計算機—>屬性—> 高級選項卡à環境變量—>新建系統變量或用戶變量(用戶變量只對當前用戶有效,系統變量對所有用戶有效)à設置環境變量ORACLE_HOME
同樣,設置環境變量TNS_ADMIN,指向instantclient下的network\admin目錄,這樣,odbc數據源就可以自動獲取tns信息,如下:
3、可能遇到的問題:若不配置環境變量ORACLE_HOME,在使用ODBC數據源時,會報錯“Unable to connect SQLState=08004 [Oracle][ODVC][Ora]ORA-12154:TNS:could not resolve the connect identifier specified”,這種情況同樣發生在使用oracle instant組件的PowerDesigner等工具連接數據庫的情況下。
四、配置odbc數據源
(1)打開odbc數據源管理工具
方式一:在開始-->所有程序中或搜索odbc,找到Microsoft ODBC管理員程序
方式二:控制面板-->管理工具-->數據源
(2)添加用戶DSN
用戶DSNà添加,選擇Oracle驅動(MySQL、SQLserver等可安裝並選擇對應的驅動),完成
(4)填寫ODBC配置信息並測試連通性
填寫odbc數據源配置信息,標註部分為必填項,數據源名稱為任意有含義的字符串,可用中文,TNS Server Name格式為“ip:port/數據庫名稱”,User ID 為訪問數據庫的用戶名(port默認是1521,請記得防火墻和殺軟放行1521端口),數據庫名稱選用tsnnames.ora文件中的SERVICE_NAME的值。
註意:TNS Service Name填寫方式有兩種方法:
第一種,填寫完整格式:TNS Service Name的完整格式是: 數據庫主機名:端口號/數據庫實例名。
第二種:如果配置的數據源很多,可以按照Oracle instant Client,這裏安裝了instant client,並設置了TNS_ADMIN的環境變量,TNS Service Name選項下會有所有已經設置TNS的數據庫實例名列表。當要操作的數據庫實例比較多時,這種方法很方便。
填寫完畢,先測試數據源連通性“Test Connection”,輸入密碼,“OK”
若提示連接成功,說明配置無誤,“確定”,“OK”,退出管理程序。否則,檢查並修改配置信息。
四、創建臨時表
執行SQL語句,將結果集較大的查詢語句加工到臨時表中,如下:
CREATE TABLE TMP_TEST AS SELECT E.EMPNO, E.ENAME, E.JOB, E.MGR, E.HIREDATE, E.SAL, D.DNAME, D.LOC FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO;
五、配置Excel,導出數據
(1)新建Excel,數據—>自其他來源—>來自Microsoft Query
(2)選擇配置好的數據源,“確定”
(3)填寫對應的密碼
(4)選項裏可設置查找要導出的對象的範圍,進入“選項”
(5)表選項裏可設置要導出的對象:表、視圖、同義詞等,註意選擇用戶,當有大量用戶和表時,可大大縮小查找範圍
(6)在左側要導出的表中,找到要導出的字段,>按鈕可將選擇好的字段導入到右側的待查詢列中。
待篩選的列,可根據需要對字段進行條件設置
排序順序,可選擇關鍵字排序,同時可選擇多個關鍵字
導出默認即可,當然,也可以使用Microsoft query編輯查詢,實現一些復雜的查詢,並將結果導出到Excel中。
選擇導入到Excel中的位置。
導出結果示例如下:
本文原始地址:http://www.cnblogs.com/chinas/p/6991311.html,轉載請註明出處,謝謝!!!
配置ODBC DSN數據源,導出數據庫數據到Excel過程記錄