天天看點

ApolloStudio高手之路(7):用Python調用ODBC連接配接SQLServer/Oracle/MySQL等關系型資料庫配置資料庫ODBC連接配接應用案例測試

關系型資料庫,是建立在關系模型基礎上的資料庫,借助于集合代數等數學概念和方法來處理資料庫中的資料。現實世界中的各種實體以及實體之間的各種聯系均用關系模型來表示。關系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。現如今雖然對此模型有一些批評意見,但它還是資料存儲的傳統标準。标準資料查詢語言SQL就是一種基于關系資料庫的語言,這種語言執行對關系資料庫中資料的檢索和操作。 關系模型由關系資料結構、關系操作集合、關系完整性限制三部分組成。簡單來說,關系型資料庫是由多張能互相聯接的二維行清單格組成的資料庫。

在ApolloStudio中對關系型資料庫的支援分為遠端資料庫和本地資料庫,兩者的區分界定是資料庫本身是否内置伺服器功能來支援遠端網絡通路。 遠端資料庫主要涵蓋的資料庫有:MS SQLServer、Oracle和MySQL這三類為主(其他支援ODBC驅動通路的資料庫同樣相容),本地資料庫主要支援的是SQLite和MS Access這兩類。本地資料庫系統中SQLite内置了通路驅動而MS Access需在機器上安裝Office套件或者獨立資料引擎AccessDatabaseEngine(百度搜尋下或者文末網盤均有提供)。

本文是以本地MySQL 資料庫作為應用案例講解,我們預設機器上已安裝正确版本的ODBC驅動(ApolloStudio僅支援X64版本的驅動)。我們先看下ApolloStudio中所提供的接口:

ApolloStudio高手之路(7):用Python調用ODBC連接配接SQLServer/Oracle/MySQL等關系型資料庫配置資料庫ODBC連接配接應用案例測試

配置資料庫ODBC連接配接

ApolloStudio高手之路(7):用Python調用ODBC連接配接SQLServer/Oracle/MySQL等關系型資料庫配置資料庫ODBC連接配接應用案例測試

我們現在工具箱中找到ODBC管理器,自動打開系統自帶的管理器 ,在使用者DSN頁面上,我們點選添加:

ApolloStudio高手之路(7):用Python調用ODBC連接配接SQLServer/Oracle/MySQL等關系型資料庫配置資料庫ODBC連接配接應用案例測試

這裡我們選擇MySQL ODBC 8.0 Unicode Driver(安裝版本不一樣可能版本号有差異,本機裝的是8.0版本驅動):

ApolloStudio高手之路(7):用Python調用ODBC連接配接SQLServer/Oracle/MySQL等關系型資料庫配置資料庫ODBC連接配接應用案例測試

 填入描述、IP位址、使用者名、密碼然後點選Test驗證是否通過,接着選擇對應的資料庫名,這裡本機是mydb(我們事先已配置好該資料庫),儲存即可:

ApolloStudio高手之路(7):用Python調用ODBC連接配接SQLServer/Oracle/MySQL等關系型資料庫配置資料庫ODBC連接配接應用案例測試

接下來我們回到ApolloStudio中,添加遠端資料庫單元,右鍵點選配置,可以在下拉菜單中我們即可找到剛才我們配置的LocalMySQL :

ApolloStudio高手之路(7):用Python調用ODBC連接配接SQLServer/Oracle/MySQL等關系型資料庫配置資料庫ODBC連接配接應用案例測試

 儲存,這樣我們的連接配接就配置完成了!

應用案例測試

這裡我們選擇一個簡單例子做測試,我們先在上文中提到的mydb資料庫中放入幾組資料:

ApolloStudio高手之路(7):用Python調用ODBC連接配接SQLServer/Oracle/MySQL等關系型資料庫配置資料庫ODBC連接配接應用案例測試

我們在ApolloStudio任務清單添加一個界面用來調取和顯示這些資料,并實作CSV檔案導出,這裡我們使用了一個資料清單控件以及三個按鈕控件,簡單測試重新整理擷取所有資料,添加資料,以及導出CSV檔案功能:

ApolloStudio高手之路(7):用Python調用ODBC連接配接SQLServer/Oracle/MySQL等關系型資料庫配置資料庫ODBC連接配接應用案例測試

 最後編寫腳本:

#-*- coding: UTF-8 -*-
#加載内嵌子產品
import clr,sys,time,datetime

########################################################
#資料庫查詢顯示導出案例
########################################################

#變量初始化
#插入固定資料資訊到資料庫中
sql_InsertData = "INSERT INTO mydb (姓名,性别,出生日期) VALUES ('王五','男','2018-09-13')"
#擷取資料庫中所有資訊
sql_SelectAllData = "SELECT * FROM mytable"
#定義一個預設DataTable對象
alldata = AS.Func_SQL_ODBC_Select(0, sql_SelectAllData)

#循環函數體
while True:
	if AS.Func_UI_Button_GetValue(0):#添加資訊按鈕被觸發
		AS.Func_UI_Button_SetValue(0, False)#複位按鈕觸發标志位
		AS.Func_SQL_ODBC_Insert(0, sql_InsertData)#插入資料
		alldata = AS.Func_SQL_ODBC_Select(0, sql_SelectAllData)#重新整理所有資料
		AS.Func_UI_DataGridView_SetDataSource("dgv1", alldata)#綁定顯示到UI界面
	if AS.Func_UI_Button_GetValue(1):#重新整理查詢資訊按鈕被觸發
		AS.Func_UI_Button_SetValue(1, False)#複位按鈕觸發标志位
		alldata = AS.Func_SQL_ODBC_Select(0, sql_SelectAllData)#重新整理所有資料
		AS.Func_UI_DataGridView_SetDataSource("dgv1", alldata)
	if AS.Func_UI_Button_GetValue(2):#導出CSV檔案按鈕被觸發
		AS.Func_UI_Button_SetValue(2, False)#複位按鈕觸發标志位
		AS.Func_CSV_DataTableToCSV(alldata, "D:/test.csv")#儲存在D盤根目錄
	time.sleep(0.2)
           

在上面的腳本中我們可以發現,所有的SQL語句直接複制即可獲得所需效果,值得注意的是使用查詢語句後會有一個傳回值,其資料類型是DataTable,也就是一張表,後續的操作完全是針對表進行對應操作,點選運作後執行結果:

ApolloStudio高手之路(7):用Python調用ODBC連接配接SQLServer/Oracle/MySQL等關系型資料庫配置資料庫ODBC連接配接應用案例測試

***********************************************************************************************************************************************

ApolloStudio最新版下載下傳位址(網盤有交流群号):

(點選跳轉至首頁文章,見文章最底部下載下傳連結)