999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

jsp和sqlserver數據庫的連接問題及解決辦法

2009-05-25 03:32:52莊生虎
中國新技術新產品 2009年6期
關鍵詞:數據庫

摘要:數據庫操作是目前項目開發的根本,jsp技術是當前較為熱門的W eb開發技術, jsp和sqlserver數據庫進行連接是一項復雜的工作。本文介紹了jsp連接sqlserver數據庫的三種基本方法,給出了jsp連接sql數據庫過程中一些常見問題的解決辦法。

關鍵詞:odbc-jdbc;數據庫;端口;授權

JSP 是Sun公司推出的一種開發語言,他完全解決了目前ASP,PHP的一個通病腳本級執行,可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。由于要jsp語言跨平臺的工作能力,使得jsp技術在眾多技術中脫穎而出,用jsp開發過程中經常會用到jsp和sqlserver數據庫的連接,雖然較簡單,但是在連接測試的過程中,經常會遇到了許多問題,花費不少時間。所以本文將這些總結出來,讓大家學習達到事半功倍的效果。

1jsp和sql數據庫的連接方法

1.1 通過橋連方式連接數據庫

橋連方式就是通過odbc設置數據源訪問數據庫,首先是設置odbc數據源。設置方法:通過控制面板下的管理工具打開odbc數據源->選擇系統dsn(單擊添加)->接下來輸入選擇數據庫類型sql sever,輸入數據源名,選擇服務器、連接數據庫的方式、輸入數據庫的登陸用戶和密碼->測試連接,如果測試成功的話,那么你的dsn就建立好了。我的dsn數據源名字為news,以 "sa"登陸,密碼也是sa。新建測試類進行測試。

import java.sql.*;//加載java數據連接包

public class conectionmanager{

public static void main(String args[]) {

String url = "jdbc:odbc:news"; //取得連接的url名。

Connection con; //實例化一個Connection對象

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加載jdbc-odbc橋驅動

con = DriverManager.getConnection(url, "sa", "sa");

System.out.println("數據庫連接成功 ");

} catch(java.lang.ClassNotFoundException e) {

System.out.println("加載jdbc-odbc橋錯誤");

} } }

運行顯示,數據庫連接成功,上面這個程序中展示了如何使用JDBC-ODBC連接數據庫。數據庫連接成功了,就可以使用SQL語句對數據庫進行增、刪、改、查等操作。通過這種方法訪問數據庫,需要客戶端必須設置ODBC和有相應的數據庫客戶機的驅動。在沒有數據庫廠商提供的的jdbc驅動的情況下,是一種很好的方法。

1.2直接純java直連方式訪問數據庫(以sql2000為例)

1.2.1下載SQL Server 2000 driver for JDBC

該驅動截止目前有四個版本,建議下載最新的SP3版。該驅動安裝方法:請將sql2000驅動安裝目錄下的lib目錄下的三個.jar文件加到CLASSPATH中;如果你使用的是JBuilder或Eclipse,將這三個文件根據IDE的提示加到工程中。

1.2.2驅動的加載方法

在建立連接之前,要先加載SQL Server 2000 JDBC的驅動,代碼如下:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

在此注意,forName方法的參數字符串必須完全相同于以上內容,大小寫是區分的,其實這個串就是驅動類的完整名稱:包名+類名。

1.2.3獲得一個連接

在操作數據庫之前,要先獲得與數據庫的一個連接,使用如下代碼格式:

DriverManager.getConnection(連接字符串, 登錄用戶名, 登錄密碼);

例:DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs", "sa", "");

在此處關鍵的是連接字符串的內容,localhost部分即服務器的名字,可以更改;1433部分為SQL Server使用的端口號,根據實際情況修改即可;DatabaseName即為要連接的數據庫的名字,在此注意DatabaseName之前的是分號,而不是冒號。

1.2.4 代碼實例測試

根據上述分析,修改1.1的測試類test,只需修改classform,和etconnection即可。一般都能測試成功。

但是jsp和sql2000相連接的時候,有時候很難測試成功,下面我就列出一些常見問題的解決辦法,供大家參考。

1.3 通過db browser 連接數據庫

使用這種方式連接數據庫,你編輯java的工具應該用eclipse,eclipse是一個開源軟件,現在逐步取代jbuilder被廣泛采用。具體的設置方式是,點擊windows菜單下的show view子菜單,然后選擇db browser,彈出的對話框中按要求設置數據庫驅動,連接好了以后點擊連接數據庫,就可以看到數據庫中的數據了。這種方式的有點是使用是在eclipse中的db browser下就可以看到數據庫,而不用sql2000數據庫。

2jsp和sql數據庫連接的常見錯誤的解決辦法

2.1 運行時提示錯誤Error establishing socket

原因及解決辦法

①通過url連接的時候指定的服務器名稱或者服務器地址不正確,這一點你可以通過ping來驗證。②指定的服務器上的sql server的服務沒有啟動,你可以通過sql server的查詢工具來驗證這個問題。③指定端口錯誤,sql server的默認端口是1433。④sql server沒有提供tcp/ip的服務,你可以通過sql server的管理工具來查看這個問題。⑤如果你的系統是 windows XP 或者 Windows 2003,那么升級你的SQL Server 2000,為其打上最新的補丁。這一步可能不是必需的,因操作系統環境而定,在不打補丁的情況,有時可以正常連接,有時卻不能,所以建議還是安裝最新的SQL Server 2000補?。⊿P4)和JDBC驅動(SP3)。一般情況下,打上SQL Server 2000的補丁就可解決。

2.2 運行代碼提示"ClassNotFoundException"錯誤

如果提示"ClassNotFoundException",那一定是 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 該段代碼拼寫有誤,或者是SQL Server 2000 Driver For JDBC Lib目錄下的三個.jar文件未加入到CLASSPATH中。將驅動包加入classpath中可以解決。假設SQL Server for JDBC 驅動程序安裝在d:jdbc,則classpath應該設置如下:

Classpath=.;…;d:jdbclib; :jdbclibmssqlserver.jar; :jdbclibmsutil.jar; :jdbclibmsbase.jar;注意:設置時要在最前面的點號和分號。

2.3為數據庫創建用戶和授權問題

如果在連接中出現類似"無法打開登錄 'XXX' 中請求的數據庫。登錄失敗。"或類似"拒絕了對對象 'ZZZ'(數據庫 'YYY',所有者 'dbo')的 SELECT 權限"的錯誤。就應該為數據庫創建用戶和授權。

在SQL2000中新建一個數據庫news和表test,有兩種方法為該數據庫創建用戶賬號:

方法一、用查詢分析器為該數據庫創建一個賬號:sp_addlogin 'aa','123','news' ,其中'aa'為賬號名,'123'為密碼,'TEST'使用的數據庫。

然后授權賬號aa以用戶名aa訪問數據庫news

USE TEST

GO

sp_adduser 'aa','aa' //第1個aa為賬號名,第2個aa為訪問時的名字,若不設定,則默認與賬號名相同。

方法二、用企業管理器右鍵點擊數據庫news下的用戶,選擇新建數據庫用戶,在登錄名中選擇,若沒有想添加的用戶,則選新建,在常規標簽中輸入名稱(aa)、選擇登錄SQL的驗證方式,然后在數據庫訪問標簽下選擇允許該用戶賬號訪問的數據庫,然后先點確定再點取消即可完成用戶的創建。接下來要雙擊剛創建的用戶aa,點擊權限,為數據庫用戶aa在下方對象列表中授予權限(通常是為表賦予查詢、更新、插入、刪除等權限)。

3 結束語

由于系統需求,最近在開發過程經常用到jsp和SQL 2000,其中遇到了諸多問題,首先是SQL 2000數據庫的安裝問題,版本與操作系統的兼容性問題,還有sqlserve 和jdbc 的融合問題,sqlserver 操作問題,以及在連接測試過程中常見的一些問題。本文從使用角度出發,列出了jsp和sql2000連接三種常用方法,歸納了常見的連接問題的解決辦法,希望能給遇到類似問題的jsp學習者作為參考。

參考文獻

[1] 武延軍,黃飛躍.精通JSP編程技術[M].北京:人民郵電出版社,2005.

[2]朱友芹,陳圣琳.網站規劃與建設[M].北京:電子工業出版社,2006.

[3]肖必武,用JSP構建動態網站[J]. 現代電子技術,2007 年第三期.

作者簡介: 莊生虎,男,1979年生,陜西志丹人,陜西廣電網絡傳媒股份有限公司延安分公司任職,從事數據庫應用網絡維護工作。

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 综合亚洲色图| 国产成人精品无码一区二| 日本午夜在线视频| 特级aaaaaaaaa毛片免费视频 | 波多野结衣视频网站| 992Tv视频国产精品| 99久久国产精品无码| 国产XXXX做受性欧美88| 爆操波多野结衣| 99久久精彩视频| 免费一级成人毛片| 伦伦影院精品一区| 久久毛片基地| 亚洲欧美不卡| 亚洲中文字幕国产av| 97精品国产高清久久久久蜜芽| 高清无码不卡视频| 2021国产乱人伦在线播放| 亚洲一级色| 国产精品女在线观看| 成人午夜视频免费看欧美| 欧美成人aⅴ| 亚洲成肉网| 在线观看热码亚洲av每日更新| 精品无码一区二区三区在线视频| 91精品国产自产在线观看| 香蕉蕉亚亚洲aav综合| 国产在线视频福利资源站| 色欲色欲久久综合网| 激情影院内射美女| 国产草草影院18成年视频| 欧美特级AAAAAA视频免费观看| 亚洲国产成熟视频在线多多| 国产午夜不卡| 国产毛片基地| 欧美无专区| yjizz视频最新网站在线| 精品国产Av电影无码久久久| 中文字幕久久波多野结衣| 亚洲色图另类| 超碰aⅴ人人做人人爽欧美 | 午夜视频免费一区二区在线看| 精品伊人久久久香线蕉| 亚洲精品在线影院| 性激烈欧美三级在线播放| 久久这里只有精品8| hezyo加勒比一区二区三区| 在线精品亚洲一区二区古装| 成人在线不卡视频| 伊人激情综合| 中国一级毛片免费观看| 91免费观看视频| 国产精品自拍合集| 伊人成人在线| 特级精品毛片免费观看| 免费一级大毛片a一观看不卡 | 无码网站免费观看| 久久综合久久鬼| 亚洲综合二区| 亚洲成A人V欧美综合| 中文字幕亚洲综久久2021| 日本成人精品视频| 18黑白丝水手服自慰喷水网站| 国产午夜不卡| 色婷婷色丁香| 国产亚洲高清视频| 999精品色在线观看| 国产成人久视频免费| 欧美有码在线| 中文字幕乱码二三区免费| 中日韩一区二区三区中文免费视频| 美女视频黄频a免费高清不卡| 日本午夜在线视频| 国产一级精品毛片基地| 国产高清精品在线91| 亚洲无码在线午夜电影| 欧美人在线一区二区三区| 久久久久久尹人网香蕉| 在线观看精品自拍视频| 无码AV高清毛片中国一级毛片| 欧美日韩一区二区在线播放| 在线观看国产小视频|