天天看點

ASP.NET 2.0資料庫入門經典(第4版) 4.4 連接配接MySQL

MySQL是一個受到開放源代碼Web站點歡迎的資料庫管理系統。可運作于多個作業系統,包括Windows。大多數使用者可以從 www.MySQL.com站點上免費下載下傳使用該軟體。

4.4.1 連接配接MySQL的理論

連接配接MySQL資料庫有兩種方式。現在第三方可以提供ODBC驅動程式,并且通過ASP.NET 2.0的最終版本還有可能使用OLEDB。如果想獲得有關MySQL連接配接開發的最新資訊,可以搜尋www.dev.mysql.com、www.ByteFX.com和www. CrLab. com。OLEDB和ODBC都可以使用ASP.NET 2.0的SqlDataSource控件。

4.4.2 用于MySQL的ODBC連接配接的文法

ODBC技術需要SqlDataSource指定ProviderName=System.Data.Odbc和一個連接配接字元串,如下所示。請注意因為我們将ProviderName設定為ODBC,是以現在在連接配接字元串中使用Driver=…(OLEDB則使用Provider=…)。

<asp:SqlDataSource ID=...>

ProviderName="System.Data.Odbc"

ConnectionString=

"Driver={MySQL ODBC 3.51 Driver};

server=MyServer ;

database=MyDatabase;

uid=MyUserName ;

password=MyPassword;

option=3"

option設定是ODBC各方面的一個總值,并沒有在驅動程式上執行。值為3表示一列寬中可能的錯誤以及受影響的行的數值。

可以在Database Explorer視窗中添加MySQL連接配接來檢視表和字段的名稱。但是,在Database Explorer中将MySQL資料源中的字段拖放至ASPX頁面的功能還未實作。要添加MySQL連接配接,可以單擊Add to Database,再單擊Provider圖示,并選擇.NET Framework Data Provider for ODBC。在Connection Properties對話框中,單擊Connection圖示并選擇“Use Connection String”,輸入以下内容:

Driver={MySQL ODBC 3.51 Driver}; server=localhost; option=3

然後在提供的文本框中輸入UserID和Password。在要求輸入初始目錄的地方,輸入可在MySQL安裝内使用的資料庫的名稱。

還可以使用VWD來指導您進行這些步驟,雖然會有一些麻煩。拖動一個GridView至頁面并在Choose Data Source中選擇<new data source>。選擇SQL Data base并輸入一個ID。在Choose Connection對話框中,單擊New。單擊Provider圖示并選擇ODBC;然後單擊Connection圖示,輸入相同的連接配接字元串作為最後一段,使用者ID、密碼和初始目錄(資料庫)。如果需要,可以進行測試,然後單擊OK可以看到現在您的連接配接是ODBC.localhost via TCP/IP.mysql。單擊Next并為Web.config檔案指定連接配接的名稱。此時有可能會出現一些錯誤消息。第三方的SQL驅動程式不支援表的顯示。可以單擊Specify a Custom SQL和Next來獲得一個可以輸入您自己的SQL語句的文本框。在測試查詢的對話框中,可能會得到一些來自于beta版軟體的錯誤消息,但是測試結果依然會顯示。單擊Finish,GridView和SqlDataSource的屬性将由VWD來建立。

試一試 #3—— 連接配接MySQL資料庫

本練習是可選練習,隻有那些打算使用MySQL的讀者才應該完成。如果您隻是為了練習的目的,我們不推薦您安裝 MySQL。我們也不會手把手地教您在MySQL 中建立資料庫;我們假定您已經安裝了名為localhost的MySQL,以及擁有一個名為root、密碼為my99sql的使用者。

(1) 從http://dev.mysql.com/downloads/connector/ odbc/3.51.html上下載下傳MySQL ODBC Driver-MyODBC 3.51。在解壓縮下載下傳的檔案之後,執行MyODBC- <version >.exe檔案。接受許可協定并單擊OK完成安裝。

(2) 在C:/Websites/BegAspNet2Db/ch04中建立一個名為TIO-3-Connection- MySql.aspx的新頁面。添加SqlDataSource以使用.NET2 ODBC提供程式和MySQL ODBC 3.512 Driver。設定SQL Select指令為SELECT Host, User, Password, Create_pr- iv FROM User。

(3) 添加GridView,設定AutogenerateFields=true來顯示值。儲存并在浏覽器中檢視。應該能看到MySQL管理資料庫中每個使用者的四個相關資料。

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

"http://www.w3.org/TR/xhtmlll/DTD/xhtmlll.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Ch04-TIO-3-ConnectionToMySql</title>

</head>

<body>

Chapter 04 TIO #3 Connection to mySql

<form id="forml" runat="server">

<div>

<asp:GridView ID="GridViewl" Runat="server"

DataSourceID="SqlDataSourcel">

</asp:GridView>

<asp:SqlDataSource ID="SqlDataSourcel" Runat="server"

ProviderName="System.Data.Odbc"

ConnectionString= "DRIVER={MySQL ODBC 3.51 Driver};

SERVER=localhost;

DATABASE=mysql ;

UID=root;

PASSWORD=my99sql ;

OPTION=3"

SelectCommand="SELECT host, user, create_priv, password FROM user"

>

</asp:SqlDataSource>

</div>

</form>

</body>

</html>

示例說明 #3—— 連接配接MySQL資料庫

這個技術以安裝MySQL的ODBC驅動程式開始。然後在頁面上,可以使用帶有ProviderName(通用ODBC提供程式)說明的SqlDataSource和連接配接字元串。在這個連接配接字元串中,您指定了用于MySQL的驅動程式。其他連接配接字元串的值與第3章中用于SSE的值類似。不同的是Option=3設定,它針對在驅動程式與客戶結合中出現的不足,向程式人員提出了警告。