国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

JSP與SQL Server 2005的連接①

2009-01-06 04:55:38孫振亞
數(shù)字技術(shù)與應用 2009年11期
關(guān)鍵詞:驅(qū)動程序數(shù)據(jù)源對話框

孫振亞

[摘 要]JSP是當今比較流行的動態(tài)網(wǎng)頁開發(fā)技術(shù),數(shù)據(jù)庫對動態(tài)網(wǎng)站來說是最重要的部分,JDBC是應用程序和數(shù)據(jù)庫溝通的橋梁,本文主要介紹了JSP中如何通過JDBC技術(shù)來實現(xiàn)對SQL Server 2005的訪問。

[關(guān)鍵詞]JSP JDBC-ODBC橋 JDBC SQL Server 2005

[中圖分類號]TP311[文獻標識碼]A[文章編號]1007-9416(2009)11-0056-02

[Abstract]JSP is a more popular technique in developping dynamic web. It is very importment for dynamic web supported of database. JDBC is connecter of appliction program to database. This paper discusses the method of visiting SQL Server 2005 through JSP.

[Keywords]JSP JDBC-ODBC Bridge JDBC SQL Server 2005

1 引言

JSP(Java Server Page)是Sun公司推出的新一代動態(tài)網(wǎng)站開發(fā)語言,JSP技術(shù)是由Java語言作為腳本語言,在傳統(tǒng)的HTML文件中加入Java程序片段(Scriptlet)和JSP標記(tag)就構(gòu)成了JSP網(wǎng)頁,擴展名為.JSP。JSP可以在servlet和JavaBean的支持下,完成功能強大的動態(tài)網(wǎng)站程序的開發(fā)。而數(shù)據(jù)庫的支持對動態(tài)網(wǎng)站來說是最重要的部分,直接關(guān)系到網(wǎng)站的更新和交互性,隨著SQL Server 2005數(shù)據(jù)庫使用的普及,在JSP中使用基于JDBC驅(qū)動程序訪問SQL Server 2005數(shù)據(jù)庫已經(jīng)是十分必要的工作。

2 JSP連接SQL Server 2005

要在JSP頁面中訪問數(shù)據(jù)庫,首先要實現(xiàn)JSP與數(shù)據(jù)庫的連接,現(xiàn)在最常用的是使用JDBC技術(shù)實現(xiàn)對數(shù)據(jù)庫的連接。JDBC是一種用于執(zhí)行SQL語句的JavaAPI,它由一組用Java語言編寫的類和接口組成,JDBC提供了一組標準的應用程序設(shè)計接口,使開發(fā)人員可以使用純Java API來編寫數(shù)據(jù)庫應用程序。簡單地說,JDBC可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送 sql 語句并處理結(jié)果。

2.1 DriverManager類

DriverManager類是JDBC的管理層,作用于用戶和驅(qū)動程序之間。它跟蹤可用的驅(qū)動程序,并在數(shù)據(jù)庫和相應驅(qū)動程序之間建立連接。該類負責加載、注冊JDBC驅(qū)動程序,管理應用程序和已注冊的驅(qū)動程序的連接。對于簡單的應用程序,只需直接使用該類的方法getConnection進行連接即可,格式如下:

DriverManager. getConnection(url,“用戶名”,“密碼”)

2.2 利用JDBC技術(shù)連接數(shù)據(jù)庫的常用方法

數(shù)據(jù)庫連接對動態(tài)網(wǎng)站來說是最為重要的部分,JSP中連接數(shù)據(jù)庫的技術(shù)是JDBC(Java Database Connectivity)。很多數(shù)據(jù)庫都帶有JDBC驅(qū)動程序,JSP程序就通過JDBC驅(qū)動程序與數(shù)據(jù)庫相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。

2.2.1 JDBC-ODBC橋連接數(shù)據(jù)庫

SUN公司開發(fā)了JDBC-ODBC橋,通過JDBC-ODBC橋,Java程序訪問帶有ODBC驅(qū)動程序的數(shù)據(jù)庫。

JDBC-ODBC橋提供了從JDBC到ODBC的轉(zhuǎn)換,用于訪問ODBC數(shù)據(jù)源。JDBC使用了本地的ODBC方法。 Sun公司提供的JDBC-ODBC橋可以訪問支持ODBC的數(shù)據(jù)庫,用戶只要設(shè)置好ODBC數(shù)據(jù)源,再由JDBC驅(qū)動程序轉(zhuǎn)換為JDBC接口供應用程序使用即可。

連接到SQL Server 2005數(shù)據(jù)庫,首先應配置數(shù)據(jù)源,然后使用JDBC-ODBC橋進行數(shù)據(jù)庫的連接。

*數(shù)據(jù)源的配置:

打開控制面板窗口,選擇管理工具中的數(shù)據(jù)源(ODBC),打開ODBC數(shù)據(jù)源管理器,選擇“系統(tǒng)DSN”選項卡,單擊添加;在打開的“創(chuàng)建數(shù)據(jù)源”對話框的“選擇您想為其安裝數(shù)據(jù)的驅(qū)動程序”列表框中,選擇“SQL Server”,然后單擊完成;

在“創(chuàng)建到SQL Server的新數(shù)據(jù)源”對話框中,將數(shù)據(jù)源的名稱設(shè)置為DataShop(名字可為其它),該名字為數(shù)據(jù)源的名稱,并不一定是數(shù)據(jù)庫的名稱,選擇SQL Server數(shù)據(jù)庫服務器的名稱時,可以選擇本機(local),然后單擊下一步;在選擇登錄的方式的界面中,使用默認的方式,也可以根據(jù)需要選擇SQL Server登錄方式,并指定用戶名,本文采用第二種方式,ID為sa,密碼為sa,然后單擊“下一步”;在選擇數(shù)據(jù)庫的界面中,指定數(shù)據(jù)源所對應的數(shù)據(jù)庫(本文為jsp_db),然后單擊“下一步”;

在完成并進行數(shù)據(jù)源的測試成功后?!霸贠DBC數(shù)據(jù)源管理器”對話框的“系統(tǒng)DSN”選項卡中即可看到新添加的數(shù)據(jù)源DataShop。這時已完成了數(shù)據(jù)源的設(shè)置。

* 連接到數(shù)據(jù)庫SQL Server 2005的代碼段

......

Connection conn=null;

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String strConn="jdbc:odbc:shopData";

String strUser="sa"; // sa數(shù)據(jù)庫登錄時的用戶名

String strPassword="sa"; // sa數(shù)據(jù)庫登錄時的密碼

conn=DriverManager.getConnection(strConn,strUser,strPassword);

out.println("

JDBC-ODBC橋連接數(shù)據(jù)庫成功!

");

}

catch(Exception e)

{

out.println("

JDBC-ODBC橋連接數(shù)據(jù)庫失敗!

");

}

......

測試中如看到“JDBC-ODBC橋連接數(shù)據(jù)庫成功!”的字樣,則表示使用JDBC-ODBC橋連接數(shù)據(jù)庫成功。

2.2.2 專用JDBC驅(qū)動程序連接數(shù)據(jù)庫

ODBC驅(qū)動,在很多情況下也即數(shù)據(jù)庫的客戶端,必須加載到客戶機。因而,它適用于不重要的應用或者沒有其他JDBC驅(qū)動可用的情況,大多數(shù)的應用還是采用JDBC驅(qū)動程序來連接數(shù)據(jù)庫。

*下載安裝SQL Server 2005的JDBC驅(qū)動

到微軟網(wǎng)站下載SQL Server的JDBC驅(qū)動程序包,安裝在c盤program files 下Microsoft SQL Server 2005 JDBC Driver文件夾內(nèi),接著配置classpath,在原有基礎(chǔ)上添加C:Program FilesMicrosoft SQL Server 2005 JDBC Driversqljdbc_1.1chs表明了sqljdbc.jar所在的目錄。

*連接到數(shù)據(jù)庫SQL Server 2005的代碼段

......

Connection conn=null;

try

{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

String strConn="jdbc:sqlserver://localhost:1433;DatabaseName=jsp_db";

String strUser="sa";//根據(jù)你自己設(shè)置的數(shù)據(jù)庫連接用戶進行設(shè)置

String strPassword="sa"; // 根據(jù)你自己設(shè)置的數(shù)據(jù)庫連接密碼進行設(shè)置

conn=DriverManager.getConnection(strConn,strUser,strPassword);

conn=DriverManager.getConnection(strConn,strUser,strPassword);

out.println("

JDBC專用驅(qū)動程序連接數(shù)據(jù)庫成功!

");

}

catch(Exception e)

{

out.println("

JDBC專用驅(qū)動程序連接數(shù)據(jù)庫失敗!

");

}

......

測試中如看到“JDBC專用驅(qū)動程序連接數(shù)據(jù)庫成功!”的字樣,則表示JDBC專用驅(qū)動程序連接數(shù)據(jù)庫成功。

* 和連接數(shù)據(jù)庫SQL Server2000代碼的區(qū)別

如果你以前用JDBC連接SQL Server 2000的話就要注意了,

在SQL Server 2000 中加載驅(qū)動和URL路徑的語句是:

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver);

URL = " jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jsp_db";

否則,在連接過程中會出現(xiàn)找不到JDBC驅(qū)動程序的錯誤。

3 連接到數(shù)據(jù)庫SQL Server 2005常見問題

在連接數(shù)據(jù)庫SQL Server 2005 Express時,經(jīng)常會出現(xiàn)“com.microsoft.sqlserver.jdbc.SQLServerException: 到主機 的 TCP/IP 連接失敗?!钡腻e誤,這主要是該版本的服務器默認是禁用的并且端口號沒有配置,所以要重新設(shè)置TCP/IP協(xié)議啟動,具體如下:

(1)打開SQL Server Configuration Manager

(2)轉(zhuǎn)到SQL Server 2005 Network Configuration->Protocols for SQLEXPRESS

(3)將TCP/IP設(shè)置為Enabled(啟用)

(4)雙擊TCP/IP項,轉(zhuǎn)到IP Addresses頁

(5)IP All中設(shè)置TCP Port為1433

(6)重新啟動服務

4 插入漢字到數(shù)據(jù)庫SQL Server2005時亂碼的處理

由于字符編碼的原因,插入數(shù)據(jù)到數(shù)據(jù)庫時,漢字會變?yōu)椤?”,通過以下方法可以解決此問題。

4.1 更改屬性中的排序規(guī)則

(1)右擊你所建的數(shù)據(jù)庫,點擊“屬性”,選擇“選項”并點擊。將其中的設(shè)置為:Chinese_PRC_CI_AS(選擇下拉列表框即可設(shè)置),然后“確定“。

(2)將你表中漢字字段的數(shù)據(jù)類型設(shè)置為nvarchar型或ntext型,設(shè)置前最好先將表中的數(shù)據(jù)全部刪除。(不要使用varchar或text型,因為它們只會繼續(xù)使你的數(shù)據(jù)亂碼)。

(3)設(shè)置好后,關(guān)閉服務器,再重新啟動,就可生效了。

4.2 在SQL語句中直接加N字符

如使用類似insert into student(stu_name) values (N'+userName+')這種格式的SQL語句,也能夠?qū)⒉迦霐?shù)據(jù)庫的漢字正常顯示。

5 結(jié)語

WEB與數(shù)據(jù)庫互聯(lián)是當今WWW技術(shù)和數(shù)據(jù)庫技術(shù)發(fā)展的交叉點,是日益增長的信息處理需求推動下產(chǎn)生的必然結(jié)果。JSP以其動態(tài)、高效、簡潔及跨平臺性,已被廣泛地應用于電子商務、電子政務等系統(tǒng)中,開發(fā)基于B/S(Browse/Server瀏覽器/服務器)架構(gòu)的軟件系統(tǒng),JDBC技術(shù)作為兩者溝通的橋梁,在實際開發(fā)中,選擇合適的連接方式將起到事半功倍的作用。

[參考文獻]

[1] 趙增敏.JSP動態(tài)網(wǎng)站開發(fā)[M].電子工業(yè)出版社,2008年.

[2] 劉志成.JSP程序設(shè)計案例教程[M].清華大學出版社,2007.

[3] http://blog.csdn.net.

[4] http://q.yesky.com.

[5] http://www.diybl.com.

猜你喜歡
驅(qū)動程序數(shù)據(jù)源對話框
正常恢復虛擬機
Bootlace Worms’Secret etc.
中學科技(2018年12期)2018-12-19 11:22:28
Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
分布式異構(gòu)數(shù)據(jù)源標準化查詢設(shè)計與實現(xiàn)
快速抓取對話框中的完整信息
電腦迷(2012年22期)2012-04-29 20:30:54
驅(qū)動程序更新與推薦
驅(qū)動程序更新與推薦
驅(qū)動程序更新與推薦
壶关县| 隆昌县| 阳原县| 辽中县| 华坪县| 庐江县| 周至县| 长海县| 叙永县| 通州区| 舟山市| 荣昌县| 乌兰察布市| 乌什县| 四平市| 彰化县| 木里| 城市| 庆城县| 张家港市| 鄂伦春自治旗| 瑞金市| 义乌市| 吉木萨尔县| 务川| 偃师市| 七台河市| 绥德县| 沂南县| 黑河市| 眉山市| 时尚| 桦川县| 泸定县| 法库县| 济阳县| 宾川县| 德昌县| 石泉县| 区。| 津南区|