jsp连接sql server问题总结
由于系统需求,最近在开发过程中将系统从原来的mysql转移到sql 2000下,其中遇到了诸多问题,花费了我不少时间。现在把我的经验拿出来告诉大家,好让大家少走弯路,节约时间。首先是sql 2000数据库的安装问题,在此我主要讲些关于sql 2000的版本与操作系统的兼容性问题:sql 2000总共有7个不同版本,适应不同等级用户的需求。 0rV)k [6m^*S
我试了一下,在xp系统下只有“个人开发版”能正常安装而不出现错误,所以大家在安装时要注意,具体安装时的配置参照相关说明就可以了。 2kG,m+|v,r2p5J1?
2jb[:M$N} Z
下面说明如何连接到sql 2000数据库,首先当然是要下载jdbc驱动程序,最好去微软官方网站下载,然后将下载到的三个jar包放入你的web应用的web-inf/lib/下。接下来编写程序进行测试:
"or(LMhT_B
[code]/*********************************************** u#S}0`z
/*
/*dbtest.java
/*
/******************************************* */ S)FTE,WtG2E
import java.sql.*;
S-gC d1q/J8`^&A
public class dbtest
{
connection con;
statement sta;
resultset rs;
string driver; d mk-uM3^9G-Z{([9~
string url;
string user; (Rb-H4~-wm,P
string pwd;
public dbtest()
{
driver = "com.microsoft.jdbc.
sqlserver.sqlserverdriver";; H:Ahe T4IO {K
url = "jdbc:microsoft:sqlserver: go#iPQ o&oG
//localhost:1433;databasename =test"; 3i,q:IZ C l'p
//test为数据库名
user = "sa"; `1q4ooP
pwd = "sa"; 4swoil4K u
//请更改为你相应的用户和密码 y,O [0FY0Ao n4J
init();
} #V5X ]5I yym!u0k
public void init() +n+|| Y/H;S
{
try{ |O6cYC(@
class.forname(driver);
system.out.println("driver is ok"); Iv-j3h*Y8Jf o b-v"Q
con = drivermanager. \Ab|-U+[q+gf
getconnection(url,user,pwd); 5W nVAA0p
system.out.println("conection is ok");
sta = con.createstatement(); ;I2J@0h#Q.mE
rs = sta.executequery xPN0?/XD
("select * from room");
while(rs.next())
system.out.println
(rs.getint("roomnum")); $mb:~ ^:h,iJfpN
}catch(exception e) D;}(l"[5f+Y
{
e.printstacktrace();
}
}
q^zH8D8cW]y
public static void main(string args[]) [PC z9H,u
//自己替换[]
{
new dbtest();
}
} [/code]
按道理讲,上边这段代码应该没错,可首先我们来看一下,如果sqlser服务器没有升级到sp3(在使用jdbc时,如果系统是xp或者2003务必要把sqlserver 升级到sp3,往上到处都有下的),我们看看运行结果:[code]driver is ok
java.sql.sqlexception: [microsoft]
[sqlserver 2000 driver for jdbc]
error establis
hing socket.
at com.microsoft.jdbc.base. az Uu9B
baseexceptions.createexception(unknown source
) +p Z@ L3Q"[(\n
at com.microsoft.jdbc.base.
baseexceptions.getexception(unknown source)
at com.microsoft.jdbc.base. #QZ@8TRv
baseexceptions.getexception(unknown source)
at com.microsoft.jdbc.sqlserver.tds. +nfXY0X_"eW pE
tdsconnection.(unknown source)
v UCnjI&Cbn
at com.microsoft.jdbc.sqlserver. )iX*nbY"AP
sqlserverimplconnection.open(unknown sou :xQ`K*K$b
rce) 6q,Q(u#rUK ?V-d
at com.microsoft.jdbc.base.
baseconnection.getnewimplconnection(unknown s I|[CvA'D?
ource)