国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

Jbuilder2006連接SQL_Server2000

2024-07-21 02:14:33
字體:
供稿:網(wǎng)友

我的開發(fā)環(huán)境為:jdk1.5+jbuilder2006+sql_server2000 sp3

首先,配制環(huán)境,其中包括下載jdbc fro microsft sql_server2000的驅(qū)動程序(在微軟官方網(wǎng)站下的,是sp3版的,這里就不寫具體地址了,網(wǎng)上挺多的,但注意版本,我下的是sp3)。下載后發(fā)現(xiàn)是exe 文件,雙擊安裝。默認安裝目錄:c:/program files/microsoft sql server 2000 driver for jdbc,其中c:/program files/microsoft sql server 2000 driver for jdbc/lib目錄下的三個擴展名為.jar是我們要的驅(qū)動。然后配制環(huán)境變量:

在classpath這個環(huán)境變量里加入以下語句:

c:/program files/microsoft sql server 2000 driver for jdbc/lib/msbase.jar;c:/program files/microsoft sql server 2000 driver for jdbc/lib/mssqlserver.jar;c:/program files/microsoft sql server 2000 driver for jdbc/lib/msutil.jar;

如果你的機子上正確配制了jdk的環(huán)境變量就應(yīng)該有classpath這個環(huán)境變量,若沒有就新建一個。

其實配環(huán)境變量的目的就是讓系統(tǒng)能找到驅(qū)動程序,如果不配,執(zhí)行下面一段代碼時會產(chǎn)生無法找到驅(qū)動的異常,導致程序無法執(zhí)行。

做完上述事情后,我用ultraedit這個軟件先寫了連接數(shù)據(jù)庫的代碼來試驗,代碼如下:

/* try to connct sql_server database*/import java.sql.*;public class sql_db_test{connection con;statement sta;resultset rs;string sql_driver;string sql_url;string user;string pwd;public sql_db_test(){sql_driver="com.microsoft.jdbc.sqlserver.sqlserverdriver";//驅(qū)動sql_url="jdbc:microsoft:sqlserver://localhost:1433;databasename=manage";//語句一,其中manage是要訪問的數(shù)據(jù)庫名user="xiaolin";//你要訪問的數(shù)據(jù)庫用戶名pwd="123456";//訪問數(shù)據(jù)庫的密碼init();}public void init(){try{class.forname(sql_driver);//加載驅(qū)動system.out.println("driver is ok");con=drivermanager.getconnection(sql_url,user,pwd);system.out.println("connection is ok");sta=con.createstatement();rs=sta.executequery("select * from 制衣表");//executequerywhile(rs.next())system.out.println(rs.getstring("款式"));}catch (exception e){e.printstacktrace();//printstacktrace();}}public static void main(string[] args){new sql_db_test();}}

將上邊的代碼保存后,在命令提示行里執(zhí)行

javac sql_db_test.java //編譯正常通過

java sql_db_test //產(chǎn)生異常,異常如下

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)上邊錯誤的主要原因是默認的數(shù)據(jù)庫服務(wù)器端口 1433沒有打開,無法直接連接 。

這時你在命令提示行中輸入命令:netstat –an 來查看有沒有tcp:0.0.0.0:1433,如果沒有那就肯定是因為數(shù)據(jù)庫服務(wù)器端口 1433端口沒開。這時你需要下載sql_serve20000的sp3補丁,下載安裝后會發(fā)現(xiàn)1433端口已經(jīng)打開了,再次執(zhí)行程序,順利執(zhí)行完畢。

上面是在一臺電腦上執(zhí)行的,接下來我將上面的程序放到另一臺電腦(可認為是客戶機,ip:192.168.1.2),用直連線將兩臺電腦連起來,這樣原來的電腦就變成了數(shù)據(jù)庫服務(wù)器(ip:192.168.1.1)。并且把程序中的語句一中的localhost改為192.168.1.1,其他不變。

執(zhí)行后又產(chǎn)生establishing socket異常

后來檢查發(fā)現(xiàn),在網(wǎng)上鄰居中根本看不到對方計算機,然后重新設(shè)置網(wǎng)絡(luò)并打開guest用戶,放開權(quán)限。

使網(wǎng)上鄰居中能出現(xiàn)對方計算機,然后再次執(zhí)行程序,順利執(zhí)行完畢。

接下來,開始加入jbuilder2006了,我在jbuilder中寫了一個連接數(shù)據(jù)庫的類,其他地方做了相關(guān)修改,因為代碼太多,無法在這些出來。這里只把問題寫出來:

沒想到的是,都修改完之后,軟件運行時居然出現(xiàn)下面異常:

java.lang.classnotfoundexception: com.microsoft.jdbc.sqlserver.sqlserverdriver    at java.net.urlclassloader$1.run(unknown source)    at java.security.accesscontroller.doprivileged(native method)    at java.net.urlclassloader.findclass(unknown source)    at java.lang.classloader.loadclass(unknown source)    at sun.misc.launcher$appclassloader.loadclass(unknown source)    at java.lang.classloader.loadclass(unknown source)    at java.lang.classloader.loadclassinternal(unknown source)    at java.lang.class.forname0(native method)    at java.lang.class.forname(unknown source)    at sql_db_test.init(sql_db_test.java:21)    at sql_db_test.<init>(sql_db_test.java:16)    at sql_db_test.main(sql_db_test.java:36)

這不是說驅(qū)動找不到嗎??為什么??后來在網(wǎng)上一查才知道自己孤陋寡聞,簡直太菜了!!!原來在jbuilder里也得設(shè)置驅(qū)動程序的路徑,設(shè)置方法如下:

一、打開jbuilder,選擇tools-->configure-->libraries。

二、然后在左邊的列表框下選擇new,填入:name:sql,location:user home,然后點擊add,

加入目錄c:/program files/microsoft sql server 2000 jdbc/lib,確定 。

三、project-->prject properties-->paths-->required libraries-->add

加入剛才添加的user home/sql確定

四、enterprise-->enterprise setup-->database drivers-->add,加入user home/sql,

添加之后在列表框中顯示的是sql.config,確定,重新啟動jbuilder

五、tools-->database

pilot-->view-->options-->drivers-->add

填入

driver class:com.microsoft.jdbc.sqlserver.sqlserverdriver simple url:microsoft:sqlserver://localhost:1433;databasename=mybase

確定之后,tools-->database pilot-->new的driver里選擇

com.microsoft.jdbc.sqlserver.sqlserverdriver

在url里填入:

microsoft:sqlserver://服務(wù)器ip地址或主機名:1433;databasename=數(shù)據(jù)庫名

點擊確定,雙擊或點擊+號輸入sql數(shù)據(jù)庫的用戶名和密碼,就完成了jb與sql的連接!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 汉川市| 岢岚县| 成安县| 竹溪县| 万宁市| 体育| 广平县| 综艺| 禄丰县| 蒙城县| 长丰县| 辽宁省| 北宁市| 年辖:市辖区| 宾阳县| 富川| 大宁县| 抚顺县| 彰化市| 嘉兴市| 兰州市| 博爱县| 兴义市| 前郭尔| 长海县| 河西区| 东港市| 汨罗市| 元谋县| 江陵县| 天气| 陇南市| 山东省| 巴里| 昂仁县| 吴桥县| 新巴尔虎左旗| 晋宁县| 新干县| 柳州市| 榆社县|