1.首先安裝mysql資料驅動,qtp在windows系統下操作串連mysql,所以下載mysql-connector-odbc- 5.1.8-win32.msi
:http://mysql.mirrors.pair.com/Downloads/Connector-ODBC/5.1/mysqlconnector-odbc-5.1.8-win32.msi
2.安裝mysql驅動 ,預設安裝即可。
3. 添加預設資料來源
控制台->管理工具->資料來源ODBC->系統DNS->添加->在“建立資料來源”對話方塊中選擇
“Mysql ODBC 5.1 Driver”->完成->進入串連對話方塊->填寫完後點擊“test”,看看是否成功,成功後配置完成。
4.qtp指令碼實現串連mysql資料庫
如果操作了第3步驟,天機了mysql預設資料來源,指令碼可以寫成:
Dim Conn
Set Conn=CreateObject("ADODB.Connection")
Const ConnectionString="DSN=mysql_Mail;DATABASE=extmail;PWD=123456;PORT=3306;SERVER=192.168.2.52;UID=root"
'Const ConnectionString="Driver={Mysql ODBC 5.1 Driver};DATABASE=extmail;PWD=123456;PORT=3306;SERVER=192.168.2.52;UID=root"
Conn.Open ConnectionString
If Conn.State<>0 Then
Reporter.ReportEvent micPass,"testing","串連資料庫成功"
else
Reporter.ReportEvent micFail,"testing","串連資料庫失敗"
End If
如果沒有進行第3個步驟,沒有添加預設資料來源,可以用普通方式串連
Dim Conn
Set Conn=CreateObject("ADODB.Connection")
'Const ConnectionString="DSN=mysql_Mail;DATABASE=extmail;PWD=123456;PORT=3306;SERVER=192.168.2.52;UID=root"
Const ConnectionString="Driver={Mysql ODBC 5.1 Driver};DATABASE=extmail;PWD=123456;PORT=3306;SERVER=192.168.2.52;UID=root"
Conn.Open ConnectionString
If Conn.State<>0 Then
Reporter.ReportEvent micPass,"testing","串連資料庫成功"
else
Reporter.ReportEvent micFail,"testing","串連資料庫失敗"
End If
5.qtp指令碼實現查詢資料庫
Dim Conn,str,sql,i,sum
Set Conn=CreateObject("ADODB.Connection")'建立資料庫執行個體
Const ConnectionString="DSN=mysql_Mail;DATABASE=extmail;PWD=123456;PORT=3306;SERVER=192.168.2.52;UID=root"
'Const ConnectionString="Driver={Mysql ODBC 5.1 Driver};DATABASE=extmail;PWD=123456;PORT=3306;SERVER=192.168.2.52;UID=root"
Conn.Open ConnectionString
If Conn.State<>0 Then
Reporter.ReportEvent micPass,"testing","串連資料庫成功"
else
Reporter.ReportEvent micFail,"testing","串連資料庫失敗"
End If
Set str=CreateObject("ADODB.Recordset")'建立資料集執行個體
'查詢資料庫
sql="Select * from manager where type='postmaster'"
str.Open sql,conn,1,1 '1,1表示唯讀;1,3表示插入資料;2,3表示修改資料
str.MoveFirst'使遊標指向第一個記錄
sum=""
While Not str.EOF
'msgbox str.Fields("username")
For i=0 to str.Fields.Count-1'str.Fields.Count表示欄位個數
sum=sum & str(i) & " " '把整個記錄顯示出來
Next
Print sum & vbCRLF'列印所有查詢的記錄
str.MoveNext'使遊標進入下一個
Wend
str.Close '關閉資料集執行個體
Set str=Nothing
Conn.Close '關閉資料庫執行個體
Set Conn=Nothing