成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

SQL Server2000+JDBC常見問題及解決

瀏覽:148日期:2024-07-05 15:27:19

SQL Server 2000 是當(dāng)今網(wǎng)絡(luò)編程中使用的比較多的一個(gè)數(shù)據(jù)庫系統(tǒng),java是目前最流行的編程語言,在編程中涉及的比較多也比較重要的就是數(shù)據(jù)庫問題,java自身提供了對各類主流數(shù)據(jù)庫系統(tǒng)的支持,通過java.sql 庫,提供了統(tǒng)一的接口,使得可以在java環(huán)境下不必對程序作大規(guī)模的修改,只要更改相應(yīng)的驅(qū)動程序,即可實(shí)現(xiàn)對各類數(shù)據(jù)庫的操作,從而提高軟件的生存周期和降低軟件的開發(fā)成本和維護(hù)費(fèi)用,在這種情況下SQL Server 2000 和java 的融合問題就顯得比較重要了,本文簡要地闡述一下SQL Server 2000 和jdk的融合問題。

系統(tǒng)需求:

 數(shù)據(jù)庫:SQL Server 2000 sp3 驅(qū)動程序:SQL Server driver for jdbc  java版本:jdk1.2以上

1:我們首先使用jdbc-odbc橋來實(shí)現(xiàn)數(shù)據(jù)庫的連接,這個(gè)相對簡單。首先使用SQL Server 企業(yè)管理其建立一個(gè)數(shù)據(jù)庫test,并建立一個(gè)簡單的表 first_table

建立odbc數(shù)據(jù)源 ,各步驟采用默認(rèn)操作即可

編寫一個(gè)簡單的測試程序,該程序主要實(shí)現(xiàn)數(shù)據(jù)庫的連接,以及一個(gè)簡單的sql操作 ,代碼如下:

/***********************************************/*/*DbTest.java/*/******************************************* */

import java.sql.*;

public class DbTest {

 Connection con; Statement sta; ResultSet rs;

 String driver; String url; String user; String pwd; public DbTest() {driver = 'sun.jdbc.odbc.JdbcOdbcDriver';url = 'jdbc:odbc:store_manager';user = 'share';pwd = 'share';init(); } public void init() {try{ Class.forName(driver); System.out.println('driver is ok'); con = DriverManager.getConnection(url,user,pwd); System.out.println('conection is ok'); sta = con.createStatement(); rs = sta.executeQuery('select * from room'); while(rs.next())System.out.println(rs.getInt('roomNum')); }catch(Exception e){ e.printStackTrace();} }

 public static void main(String args [])//自己替換[] {new DbTest(); }};

運(yùn)行結(jié)果如下:

driver is okconection is ok100110021003100410051006Press any key to continue...

順利通過測試

2、我們這次不通過odbc橋來操作數(shù)據(jù)庫,我們采用SQL Server driver 來實(shí)現(xiàn)對SQL Server數(shù)據(jù)庫的操作, 這將是我們這篇文章的重點(diǎn),因?yàn)閖dbc-odbc橋是一種常見的操作windows系統(tǒng)數(shù)據(jù)庫的常用方法,但它存在的缺點(diǎn)很多,所以現(xiàn)在很多開發(fā)者都側(cè)重于使用sqlserver driver來操作,在這里我們通過一步步的調(diào)試,來加深讀者對這種連接的理解

在通常的理解下,只要我們裝了sqlserver driver for jdbc 我們便可進(jìn)行數(shù)據(jù)庫編程,事實(shí)則不然,首先我們看下邊的代碼:

/***********************************************/*/*DbTest.java/*http://www.mypchelp.cn/******************************************* */

import java.sql.*;

public class DbTest {

 Connection con; Statement sta; ResultSet rs;

 String driver; String url; String user; String pwd; public DbTest() {driver = 'com.microsoft.jdbc.sqlserver.SQLServerDriver';;url = 'jdbc:microsoft:sqlserver://localhost:1433;DatabaseName =StoreManager';user = 'sa';pwd = 'potsmart10';init(); } public void init() {try{ Class.forName(driver); System.out.println('driver is ok'); con = DriverManager.getConnection(url,user,pwd); System.out.println('conection is ok'); sta = con.createStatement(); rs = sta.executeQuery('select * from room'); while(rs.next()) System.out.println(rs.getInt('roomNum')); }catch(Exception e){ e.printStackTrace();} }

 public static void main(String args [])//自己替換[] {new DbTest(); }};

這段代碼跟上變得代碼是一樣的,差別在于驅(qū)動,還有url,這是在使用sqlserver driver for jdbc 中遇到的困惑。按道理講,上邊這段代碼應(yīng)該沒錯(cuò),可首先我們來看一下,如果SQL Server服務(wù)器沒有升級到sp3(在使用jdbc時(shí),如果系統(tǒng)是xp或者2003務(wù)必要把sqlserver 升級到sp3,往上到處都有下的),我們看看運(yùn)行結(jié)果

driver is okjava.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)

at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)at java.sql.DriverManager.getConnection(DriverManager.java:523)at java.sql.DriverManager.getConnection(DriverManager.java:171)at DbTest.init(DbTest.java:32)at DbTest.<init>(DbTest.java:25)at DbTest.main(DbTest.java:46)Press any key to continue...

出現(xiàn)上邊錯(cuò)誤的主要原因是默認(rèn)的數(shù)據(jù)庫服務(wù)器端口 1433沒有打開,無法直接連接 。

如果升級到sp3則這個(gè)問題可以結(jié)決,我們再來看看升級之后,程序運(yùn)行的結(jié)果

driver is okconection is okjava.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]對象名 'room' 無效。at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(UnknownSource)at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(UnknownSource)at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(UnknownSource)at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)

at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)at DbTest.init(DbTest.java:35)at DbTest.<init>(DbTest.java:25)at DbTest.main(DbTest.java:46)Press any key to continue...

在這兒,用戶已經(jīng)登陸上去,但是卻不能訪問里邊的數(shù)據(jù)表,出現(xiàn)這個(gè)問題的原因在于sa用戶為系統(tǒng)用戶,它雖然能夠登陸數(shù)據(jù)庫,但是storeManager數(shù)據(jù)庫里邊卻沒有這個(gè)用戶的訪問權(quán)限,所以,我們現(xiàn)在為這個(gè)數(shù)據(jù)庫重新建立一個(gè)用戶share ,建立過程如下:在storeManager數(shù)據(jù)庫中選重用戶 ---〉新建用戶 -- 〉名稱選擇(這一步中有兩個(gè)關(guān)鍵點(diǎn) 1:身份驗(yàn)證選sql身份驗(yàn)證,默認(rèn)數(shù)據(jù)庫選StoreManager)-〉建立新教色share ,此時(shí)更改程序,將用戶登陸名和密碼修改一下,重新運(yùn)行程序

driver is okconection is ok100110021003100410051006Press any key to continue...

這次順利通過測試

總結(jié):

SQL Server和jdbc 的融合問題,關(guān)鍵涉及到sp3補(bǔ)丁(端口開放)還有用戶問題,解決這兩個(gè)問題之后,剩余的便是sqlserver 操作問題了,還有一點(diǎn)在遠(yuǎn)程操作的時(shí)候,要把sqlserver 組設(shè)置一下,在安全性里邊亦將身份驗(yàn)證更改為SQL Server 驗(yàn)證即可。

標(biāo)簽: JDBC
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
91麻豆123| 激情五月***国产精品| eeuss鲁片一区二区三区在线观看| 久久精品中文字幕一区二区三区| 日韩久久一区二区| 韩日成人av| 国产精品久久久久久久久晋中 | 日韩黄色小视频| 国产精品欧美日韩一区| 亚洲欧美激情小说另类| 亚洲欧洲综合| 亚洲另类色综合网站| 影音先锋久久| 中文字幕一区二区不卡| 亚洲成人原创| 亚洲欧美另类图片小说| 亚洲麻豆一区| 黄色另类av| 中文字幕色av一区二区三区| 欧美日韩精品一本二本三本| 日本一区二区三区久久久久久久久不 | 一本一道波多野结衣一区二区| 欧美日本三区| 国产精品久久久久三级| 亚洲国产91| 一区二区三区免费| 国产精品一页| 亚洲h在线观看| 91精品办公室少妇高潮对白| 精一区二区三区| 69久久夜色精品国产69蝌蚪网| 国产成人av资源| 精品卡一卡二卡三卡四在线| 99久久精品免费观看| 国产欧美一区二区三区网站| 国产精品s色| 亚洲精品一二三四区| 国产精品色网| 日本不卡视频一二三区| 欧美影院午夜播放| 国产成人在线视频播放| 久久久久久久综合狠狠综合| 欧美高清日韩| 亚洲激情欧美激情| 久久最新视频| 国产一区二区不卡老阿姨| 欧美zozo另类异族| 91美女片黄在线观看91美女| 国产精品麻豆视频| 亚洲精品孕妇| 日韩国产精品久久久久久亚洲| 在线观看亚洲成人| 国产91精品久久久久久久网曝门| 久久综合中文字幕| 在线 亚洲欧美在线综合一区| 亚洲图片欧美色图| 欧美亚洲精品一区| 成人网男人的天堂| 国产精品国产三级国产有无不卡| 亚洲专区免费| 蜜臀99久久精品久久久久久软件| 日韩一区二区三区视频| 91丝袜美腿高跟国产极品老师| 中文字幕一区二区三区在线播放| 国产亚洲在线| 蜜臀av国产精品久久久久| 日韩精品一区二区三区中文不卡| 欧美日韩一区二区三区在线观看免 | 国产精品久久久久aaaa| 亚洲综合精品| 国模套图日韩精品一区二区| 久久亚洲精品小早川怜子| 亚洲高清在线播放| 久草在线在线精品观看| 久久综合狠狠综合久久综合88| 1024成人| 美女视频黄a大片欧美| 精品国产伦一区二区三区免费| 亚洲欧洲另类| 国产精品一区在线| 亚洲日本va在线观看| 欧美日韩在线直播| 国精品一区二区三区| 欧美人狂配大交3d怪物一区| 国产精品二区二区三区| 美女视频黄频大全不卡视频在线播放| 久久久久久久久久久久久女国产乱| 国产婷婷精品| 秋霞成人午夜伦在线观看| 26uuu国产日韩综合| 制服诱惑一区二区| 粉嫩久久99精品久久久久久夜| 亚洲精品亚洲人成人网| 欧美精品久久久久久久多人混战| 国内精品视频在线播放| 日本va欧美va欧美va精品| 久久久国产一区二区三区四区小说 | 亚洲天天做日日做天天谢日日欢 | 播五月开心婷婷综合| 亚洲综合无码一区二区| 欧美变态口味重另类| 亚洲欧美成人综合| 成人18视频在线播放| 亚洲成av人片在线观看无码| 久久久综合视频| 色av一区二区| 激情欧美一区二区三区| 国产一区欧美一区| 久久免费视频色| 久久精品国产综合精品| 欧美一区国产一区| 久久成人av少妇免费| 亚洲视频资源在线| 日韩免费性生活视频播放| 欧美亚洲网站| 欧美+日本+国产+在线a∨观看| 久久精品国产精品亚洲精品| 亚洲日韩欧美一区二区在线| 日韩欧美一区二区在线视频| 国产精品久久久对白| 成人黄色av电影| 青青青伊人色综合久久| 亚洲欧洲另类国产综合| 欧美一区二区三区的| 亚洲综合日韩| 午夜精品美女久久久久av福利| 韩国av一区二区| 亚洲一卡二卡三卡四卡| 国产亚洲一区二区三区| 欧美日韩精品一区二区三区四区| 一区二区三区免费看| 欧美高清视频一区| 成人综合在线观看| 麻豆精品在线观看| 亚洲综合999| 国产精品乱码一区二三区小蝌蚪| 欧美一区二区在线观看| 91久久国产最好的精华液| 国产精品久久久对白| 国产一区二区三区四区hd| 国产成人精品三级麻豆| 蜜臀av一区二区三区| 亚洲国产日日夜夜| 亚洲欧美日本在线| 亚洲国产精品二十页| 欧美成人艳星乳罩| 欧美挠脚心视频网站| 久久夜色精品| 亚洲一区国产| 亚洲欧洲日本mm| 好吊视频一区二区三区四区| 972aa.com艺术欧美| 国产很黄免费观看久久| 免费日本视频一区| 五月婷婷久久丁香| 亚洲线精品一区二区三区八戒| 中文字幕亚洲区| 日本一区二区视频在线| 久久久天堂av| 精品少妇一区二区三区| 日韩无一区二区| 69堂国产成人免费视频| 欧美日韩久久久一区| 色欧美88888久久久久久影院| 亚洲综合日韩| 亚洲人成网站在线观看播放| 国产精品v欧美精品v日本精品动漫| 欧美一区二区三区在线播放| 不卡的av在线播放| 97久久人人超碰| 91老司机福利 在线| 91在线免费看| 99久久免费视频.com| 北岛玲一区二区三区四区| 成人晚上爱看视频| 大尺度一区二区| 成人妖精视频yjsp地址| 成人精品视频一区| 成+人+亚洲+综合天堂| av资源站一区| 色综合色狠狠天天综合色| 97se亚洲国产综合自在线不卡| 欧美69wwwcom| 欧美人与禽性xxxxx杂性| 国产精品黄色| 雨宫琴音一区二区在线| 亚洲国产日韩欧美| 亚洲激情网站| 亚洲在线免费| 在线精品亚洲一区二区不卡| 欧美视频一区二| 欧美一区二区不卡视频| 日韩欧美第一区| 久久蜜桃av一区二区天堂| 国产午夜精品一区二区三区视频 | 欧美日本在线观看| 欧美精品丝袜中出| 日韩精品中文字幕一区二区三区 | 亚洲国产一区在线观看| 日本欧洲一区二区|