① VB 用WEBSERVICE操作SQL SERVER 資料庫
webservice不操作資料庫,而且對外提供標准介面,供外部系統使用。真正操作資料庫的始終是本地的實現類。
比如你做個用戶信息查詢介面。webservice只是公布給外部系統的代理類,從外部系統接收userid,然後交給本地的實現類去處理,再返回詳細信息給外部。
② Web資料庫的訪問技術
Web資料庫訪問技術通常是通過三層結構來實現的。目前建立與Web資料庫連接訪問的技術方法可歸納為CGI技術,ODBC技術和ASP、JSP、PHP技術。
CGI技術
CGI(Common Gateway Interface,通用網關界面)是一種Web伺服器上運行的基於Web瀏覽器輸入程序的方法,是最早的訪問資料庫的解決方案。CGI程序可以建立網頁與資料庫之間的連接,將用戶的查詢要求轉換成資料庫的查詢命令,然後將查詢結果通過網頁返回給用戶。
CGI程序需要通過一個介面才能訪問資料庫。這種介面多種多樣,資料庫系統對CGI程序提供了各種資料庫介面如Perl、C/C++、VB等。為了使用各種資料庫系統,CGI程序支持ODBC方式,通過ODBC介面訪問資料庫。
ODBC技術
ODBC(Open Database Connectivity,開放資料庫互接)是一種使用SQL的應用程序介面(API)。ODBC最顯著的優點就是它生成的程序與資料庫系統無關,為程序員方便地編寫訪問各種DBMS的資料庫應用程序提供了一個統一介面,使應用程序和資料庫源之間完成數據交換。ODBC的內部結構為4層:應用程序層、驅動程序管理器層、驅動程序層、數據源層。它們之間的關系如圖1-5所示。由於ODBC適用於不同的資料庫產品,因此許多伺服器擴展程序都使用了包含ODBC層的系統結構。
Web伺服器通過ODBC資料庫驅動程序向資料庫系統發出SQL請求,資料庫系統接收到的是標准SQL查詢語句,並將執行後的查詢結果再通過ODBC傳回Web伺服器,Web伺服器將結果以HTML網頁傳給Web瀏覽器,工作原理如圖1-6所示。
由於Java語言所顯示出來的編程優勢贏得了眾多資料庫廠商的支持。在資料庫處理方面,Java提供的JDBC為資料庫開發應用提供了標準的應用程序編程介面。與ODBC類似,JDBC也是一種特殊的API,是用於執行SQL語句的Java應用程序介面。它規定了Java如何與資料庫之間交換數據的方法。採用Java和JDBC編寫的資料庫應用程序具有與平台無關的特性。
ASP、JSP、PHP技術
ASP是Microsoft開發的動態網頁技術,主要應用於Windows NT+IIS或 Windows 9x+PWS平台。確切地說ASP不是一種語言,而是Web伺服器端的開發環境。利用ASP可以產生和運行動態的、交互的、高性能的Web服務應用程序。ASP支持多種腳本語言,除了VBScript和Pscript,也支持Perl語言,並且可以在同一ASP文件中使用多種腳本語言以發揮各種腳本語言的最大優勢。但ASP默認只支持VBScript和Pscript,若要使用其他腳本語言,必須安裝相應的腳本引擎。ASP支持在伺服器端調用ActiveX組件ADO對象實現對資料庫的操作。在具體的應用中,若腳本語言中有訪問資料庫的請求,可通過ODBC與後台資料庫相連,並通過ADO執行訪問庫的操作。關於ASP的編程技術將會在第7章中詳細介紹。
JSP是Sun公司推出的新一代Web開發技術。作為Java家族的一員,幾乎可以運行在所有的操作系統平台和Web伺服器上,因此JSP的運行平台更為廣泛。目前JSP支持的腳本語言只有Java。JSP使用JDBC實現對資料庫的訪問。目標資料庫必須有一個JDBC的驅動程序,即一個從資料庫到Java的介面,該介面提供了標準的方法使Java應用程序能夠連接到資料庫並執行對資料庫的操作。JDBC不需要在伺服器上創建數據源,通過JDBC、JSP就可以實現SQL語句的執行。
PHP是Rasmus Lerdorf推出的一種跨平台的嵌入式腳本語言,可以在Windows、UNIX、Linux等流行的操作系統和IIS、Apache、Netscape等Web伺服器上運行,用戶更換平台時,無需變換PHP代碼。PHP是通過Internet合作開發的開放源代碼軟體,它借用了C、Java、Perl語言的語法並結合PHP自身的特性,能夠快速寫出動態生成頁面。PHP可以通過ODBC訪問各種資料庫,但主要通過函數直接訪問資料庫。PHP支持目前絕大多數的資料庫,提供許多與各類資料庫直接互連的函數,包括Sybase、Oracle、SQL Server等,其中與SQL Server資料庫互連是最佳組合。