1. 程式人生 > >配置ODBC DSN數據源,導出數據庫數據到Excel過程記錄

配置ODBC DSN數據源,導出數據庫數據到Excel過程記錄

文件中 pre line sql 比較 字符串 http 連接數 face

一、前言

  工作中我們可能遇到這樣的需要:查詢數據庫中的信息,並將結果導出到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過程記錄