使用 Python 和 DB2 Express-C 開發應用程序
Python 是一種非常強大的、通用的、高級的、 面向對象 的、動態類型的編程語言,它很容易閱讀和理解,用它編寫程序也很有意思。為了讓它更令人興奮,我們希望能夠將它連接到同樣強大而且價格低廉的 IBM DB2 核心引擎版本。DB2 Express-C 是一種可以用于 開發
Python 是一種非常強大的、通用的、高級的、
面向對象的、動態類型的
編程語言,它很容易閱讀和理解,用它編寫程序也很有意思。為了讓它更令人興奮,我們希望能夠將它連接到同樣強大而且價格低廉的 IBM® DB2® 核心引擎版本。DB2 Express-C 是一種可以用于
開發和部署的免費數據
服務器,這使我們能夠實現這個愿望。本文一步步地介紹使用 Python 連接并使用 DB2 Express-C 實例所需的所有獲取、安裝和配置步驟。
概述
下面是在本文中要執行的任務:
- 獲取并安裝 Python
- 獲取并安裝 DB2 Express-C
- 創建示例數據庫
- 使用 DB2 Control Center 查看關于數據庫的詳細信息
- 使用 DB2 Command Line Processor 查看一些表內容
- 為示例數據庫設置 Windows® ODBC Datasource
- 獲取并安裝 Python mxODBC 包
- 在 Python 腳本中使用 mxODBC 訪問數據庫


|
回頁首 |
|
首先,安裝 Python
Python 是一種容易閱讀、使用和學習的編程語言。這種語言有許多吸引人的好處,其中最重要的是容易閱讀。對于這種語言的初學者來說,最有意思的方面之一是空白(縮進)是有意義的。這意味著編譯器/解釋器對清單 1 中代碼段的解釋方式與人們的理解方式相同。
清單 1. 縮進是有意義的
1| if ( a == b ) :
2| if ( c == d ) :
3| print 'both match' # printed only when both comparisons are true
4| else :
5| print 'a not equal b'
|
注意:行號只用于引用目的。
第 1 行上的 if 語句將比較變量 a 和 b 的值。如果它們相等,則執行第 2 行上的語句。只有在變量 a 的值等于變量 b 且變量 c 的值等于變量 d 的情況下,才會看到第 3 行生成的輸出。另一個 print 語句(第 5 行)只在 a 的值不等于 b 時執行,無論 c 和 d 的值是什么。
如果您還不熟悉 Python 語言,那么該考慮學學了。
表 1:安裝 Python
任務 |
說明 |
備注/結果 |
安裝 Python for Windows 最容易的方法是使用 ActiveState 站點 |
獲取 Python 并開始安裝
- 在 ActivePython 頁面上選擇 Free Download 鏈接。
- (可選)填寫信息并單擊 Next 按鈕。
- 找到適當的下載映像(比如 “Windows/x86”)。
- 右擊鏈接并保存安裝可執行文件。
- 用最新的病毒檢查程序進行掃描。
- 在 Windows Explorer 中,雙擊保存的可執行文件(例如,ActivePython-2.4.3.12-win32-x86.msi)開始安裝。
|
將 Python 安裝到適當的位置,比如 C:\Python24 。 |
檢驗 Python 安裝 |
打開一個新的命令提示,并輸入
python -V
|
應該會顯示已經安裝的程序的版本:
Python 2.4.3
|
如果犯了錯誤,忘了 -V |
那么會看到 Python 解釋器的命令提示,而不是只看到版本號:
C:\>python
ActivePython 2.4.3 Build 12 (ActiveState Software Inc.) based on
Python 2.4.3 (#69, Apr 11 2006, 15:32:42) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
|
|
您無意間啟動了 Python 解釋器??砂?Ctrl-Z 和 <Enter> 退出解釋器。 |


|
回頁首 |
|
接下來將安裝 DB2 Express-C
DB2 Express-C 是 DB2 Universal Database Express Edition(DB2 Express)的一個版本,是一種可以用于開發和部署的免費數據服務器。由于在一個更小的包中提供了與 DB2 Express 相同的核心數據服務器特性、開發接口以及系統限制,DB2 Express-C 為開發和部署所有應用程序(包括 C/C++、Java、.NET、PHP 等等)提供了堅實的基礎。DB2 Express-C 可以用在 32 位或 64 位硬件上運行的 Linux® 和 Windows 上,系統最多有 2 個 CPU 和 4GB 的內存。
使用 DB2 Express-C 的許多原因是顯而易見的。其中比較重要的是:

 |


|
回頁首 |
|
Open Database Connectivity(ODBC)
Python 支持使用 Open Database Connectivity 應用程序編程接口(API)來訪問數據庫。為了讓 Python 程序能夠訪問數據庫,需要為數據庫定義一個 ODBC 數據源。幸運的是,Windows 支持 ODBC 驅動程序。我們需要做的只是配置一個允許連接 DB2 數據庫的 ODBC 數據源。
- 打開 Windows Control Panel。
- 選擇 Administrative Tools。
- 雙擊 Data Sources (ODBC) 項。
- 在 “User” 或 “System” DSN 選項卡上單擊 Add 按鈕。
圖 5. 添加數據源
- 選擇
IBM DB2 ODBC Driver
并單擊 Finish。
圖 6. 創建數據源
- 填寫表單并單擊 OK。
圖 7. 添加 Sample 數據源


|
回頁首 |
|
mxODBC:ODBC 連接
差不多完成了。只需再做一點兒工作就能夠將 Python 程序連接到 DB2 數據庫。最后需要的是一個提供 ODBC 數據庫支持的 Python 模塊。
Python Web 站點上的 database topic section 包含使用 Python 訪問數據庫的信息。這個頁面上的 Database Modules 鏈接包含 mxODBC 包的引用,mxODBC 包是一個 “... 幾乎 100% 與 Python DB API 兼容的數據庫接口,可以通過 ODBC API 訪問。”
應該按照以下步驟獲得并安裝 mxODBC 包:
- 在 eGenix.com 的 mx Extensions for Python 頁面上,單擊 Base Package 的適當版本的 Download 鏈接。
- 單擊 Windows installer, Python 2.4 鏈接。
- 保存下載的文件(例如 egenix-mx-base-2.0.6.win32-py2.4.exe)。
- 單擊瀏覽器的回退按鈕,然后選擇 Commercial Package 的 Download 鏈接。
- 保存下載的文件(例如 egenix-mx-commercial-2.0.7.win32-py2.4.exe)。
- 對下載的文件進行病毒掃描。
- 在成功的掃描之后,執行每個安裝程序。
在某些系統上,尤其是 Windows 2000 系統,在 mxODBC 包的安裝過程中可能會看到一個警告,它指出 MDAC SDK 軟件需要升級。如果是這種情況,可以采用以下過程從 Microsoft 安裝此代碼的最新版本。請注意,如果需要這樣做,那么需要重新啟動系統才能完全安裝這個更新。
- 訪問 Microsoft ODBC 頁面。
- 選擇 Downloads。
- 單擊 MDAC 2.8 鏈接。
- 單擊 Continue 按鈕。
- (可選)檢查系統并單擊 Continue 按鈕。
- 單擊 Download 按鈕。
- 在系統上保存可執行文件(例如,MDAC_TYP.exe)。
- 對保存的文件進行病毒掃描。
- 在成功的掃描之后,執行安裝程序。
- 閱讀許可協議,選擇 I accept... 并單擊 Next 按鈕。
- 單擊 Finish 按鈕開始安裝。
- 在安裝之后,重新啟動機器。


|
回頁首 |
|
將各個組件組合在一起
現在要讓前面的所有工作產生需要的效果。還可以使用 Python 交互式環境進行檢查。
打開一個命令提示,輸入下面顯示的命令:
C:\>python
ActivePython 2.4.3 Build 12 (ActiveState Software Inc.) based on
Python 2.4.3 (#69, Apr 11 2006, 15:32:42) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import mx.ODBC
>>> import mx.ODBC.Windows
>>> db = mx.ODBC.Windows.DriverConnect( 'DSN=sample' )
>>> cursor = db.cursor()
>>> cursor.execute( 'select * from department' )
>>> mx.ODBC.print_resultset( cursor )
Column 1 | Column 2 | Column 3 | Column 4 | Column 5
--------------------------------------------------------------------------
'A00' | 'SPIFFY COMPUTER SERVICE DIV.' | '000010' | 'A00' | None
'B01' | 'PLANNING' | '000020' | 'A00' | None
'C01' | 'INFORMATION CENTER' | '000030' | 'A00' | None
'D01' | 'DEVELOPMENT CENTER' | None | 'A00' | None
'D11' | 'MANUFACTURING SYSTEMS' | '000060' | 'D01' | None
'D21' | 'ADMINISTRATION SYSTEMS' | '000070' | 'D01' | None
'E01' | 'SUPPORT SERVICES' | '000050' | 'A00' | None
'E11' | 'OPERATIONS' | '000090' | 'E01' | None
'E21' | 'SOFTWARE SUPPORT' | '000100' | 'E01' | None
>>> cursor.close()
>>> db.close()
In order to exit from the interpreter, you
need to press Ctrl-Z followed by <Enter>.
>>> ^Z
|
確認代碼正常工作之后,可以將這些命令放進一個文本文件中(使用 .py 擴展名表示它是一個 Python 腳本)。然后可以直接執行這個腳本,您將看到相同的輸出:
C:\> type DisplaySampleDept.py
import mx.ODBC
import mx.ODBC.Windows
db = mx.ODBC.Windows.DriverConnect( 'DSN=sample' )
cursor = db.cursor()
cursor.execute( 'select * from department' )
mx.ODBC.print_resultset( cursor )
cursor.close()
db.close()
C:\> python DisplaySampleDept.py
Column 1 | Column 2 | Column 3 | Column 4 | Column 5
--------------------------------------------------------------------------
'A00' | 'SPIFFY COMPUTER SERVICE DIV.' | '000010' | 'A00' | None
'B01' | 'PLANNING' | '000020' | 'A00' | None
'C01' | 'INFORMATION CENTER' | '000030' | 'A00' | None
'D01' | 'DEVELOPMENT CENTER' | None | 'A00' | None
'D11' | 'MANUFACTURING SYSTEMS' | '000060' | 'D01' | None
'D21' | 'ADMINISTRATION SYSTEMS' | '000070' | 'D01' | None
'E01' | 'SUPPORT SERVICES' | '000050' | 'A00' | None
'E11' | 'OPERATIONS' | '000090' | 'E01' | None
'E21' | 'SOFTWARE SUPPORT' | '000100' | 'E01' | None
C:\>
|
既然已經安裝并運行了 Python 和 DB2 Express-C,就可以使用這個出色的組合快速輕松地開發一些令人驚異的應用程序。
原文轉自:http://www.anti-gravitydesign.com
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97
|