jsp初学者的问题:怎样用jdbc连接sql server (100分)

  • 主题发起人 主题发起人 圣东方
  • 开始时间 开始时间

圣东方

Unregistered / Unconfirmed
GUEST, unregistred user!
按照网上的一些文章,我用odbc可以正确连接,但是用jdbc却搞不定阿,jdbc安装目录中lib下的三个文件已经加入到classpath中了.
提示:Unable to load class com.microsoft.jdbc.sqlserver.SQLServerDriver
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:386)
at _0002ftest_00031_0002ejsptest1_jsp_4._jspService(_0002ftest_00031_0002ejsptest1_jsp_4.java:113)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:174)
at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:261)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:369)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)
at org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)
at java.lang.Thread.run(Thread.java:536)
 
各位大虾帮帮我啊
 
以下2段是我做的测试的时候写的,希望对你有所帮助:
------------------------------
1. 和MS_SQLServer 数据库的连接(之一:用JdbcOdbcDriver):
JdbcOdbcDriver是JDK自己携带的驱动。直接可以使用。
如下:
public static void main(String args[])
{
try
{
//-这是和SQL_SERVER数据库的连接,用JdbcOdbcDriver --
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String sourceURL="jdbc:odbc:jrq_dx";
String user="jrq";
String password="123";
Connection conn=DriverManager.getConnection(sourceURL,user,password);
System.out.println("Starting OK!");
conn.close();
}
2.和MS_SQLServer 的连接(之二:用SQLServerDriver):
安装“SQL Server 2000 JDBC驱动程序”后,在“/Program Files/Microsoft SQL Server 2000 JDBC/lib”下有3个文件,分别是msbase.jar 、mssqlserver.jar 、msutil.jar,将其copy到/jdk1.4/jre/lib/ext/下,就可以使用了。(当然也可以不用Copy,设置路径也可。)
如:
public static void main(String args[])
{
try
{
//――这是和SQL_SERVER数据库的连接, 用 SQLServerDriver --
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String sourceURL="jdbc:microsoft:sqlserver://192.168.6.26:1433;user=jrq;password=123;DatabaseName=dx";
Connection conn=DriverManager.getConnection(sourceURL);
System.out.println("MS_SQL_SERVER OK!");
conn.close();
}
 
package db;
import com.microsoft.jdbc.sqlserver.SQLServerDriver;
import java.net.*;
import java.sql.*;
import java.lang.*;
import java.io.*;
import java.util.*;
public class db
{
String username="";
String str_err = "";
String pass="";
Connection conn=null;
ResultSet rs=null;
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs;User=sa;password=";
public db()
{
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=DriverManager.getConnection(url);
}catch(Exception e){
str_err=e.getMessage();
System.err.println("mydb(): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
rs=null;
try
{
Statement stmt=conn.createStatement();
rs = stmt.executeQuery(sql);

}catch(Exception e)
{
System.err.println("db.executeQuery: " + e.getMessage());
}
return rs;
}

public boolean executeUpdate(String sql)
{
boolean blupdate=false;
try
{
Statement stmt=conn.createStatement();
int intRow=stmt.executeUpdate(sql);
if (intRow!=0) blupdate=true;
}
catch (Exception e)
{
System.err.println("db.executeQuery:"+e.getMessage());
}
return blupdate;
}
public static String toChinese(String strvalue)
{
try
{
if(strvalue==null)
{
return null;
}
else

{
strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK");
return strvalue;
}
}
catch(Exception e)
{
return null;
}
}
}
 
类的放置不正确
最实用的,把数据库驱动接压缩,然后放在
***/WEB-INF/classes下
和你的javabean同目录,然后再试试
 
請問 jrp: 用ms sqlserver jdbc連接數據庫是屬於哪一种類型的連接方式? type1/type2/type3/type4?
 
to jrp: 這個sqlserver jdbc 驅動程序是不是免費的?
 
多人接受答案了。
 
后退
顶部