JSP怎么连SqlServer2000呀!在线等~~~~

时间:2021-09-28 07:05:25
<%
  String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
  Class.forName(sDBDriver);
  String sConnStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs";
  Connection connWeb=DriverManager.getConnection(sConnStr,"sa","sa");
%>

这段代码有问题吗?我是JSP新手:(
网上说要安装JDBC,不装可以吗?给点指教吧!

28 个解决方案

#1


不装肯定不行萨,就像你写了个程序,要调用某个类的东西,但是没这个类行么?
com.microsoft.jdbc.sqlserver.SQLServerDriver这个东西就是个类文件

#2


JDBC驱动是要装的,不然没法。
我也新手,代码好像没问题。
你加一条查询语句看看查询结果是啥就行
这段代码你试试,在我这是可以的
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%> 
以下是从Ms SQL Server2000数据库读取的数据:
<%

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xxxx","sa","");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from yyyy");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+rst.getString(1)+"</td>");
out.println("<td>"+rst.getString(2)+"</td>");
out.println("<td>"+rst.getString(3)+"</td>");
out.println("<td>"+rst.getString(4)+"</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%> 

其中xxxx为数据库名,yyyy为表名

#3


不可以的
必须装JDBC的驱动

#4


sp3补丁也很重要喔

#5


www.microsoft.com/sql/default.mspx

SQL Server 2000 Driver for JDBC SP3

#6


直接丢sp4补丁也可,我就是

#7


听楼上诸位的意见,我已经装过JDBC了,可程序还是有错。
用jinjieai4587(死海文书)的例子:
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%> 
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","sa");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from authors");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+rst.getString(1)+"</td>");
out.println("<td>"+rst.getString(2)+"</td>");
out.println("<td>"+rst.getString(3)+"</td>");
out.println("<td>"+rst.getString(4)+"</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%>
还是出错呀。。。

#8


补丁大过了?
什么异常,贴出来

#9


恩,贴出错误来

#10


首先打上sp3的补丁,然后放入把安装jdbc驱动时产生的三个jar包到tomcat安装目录中的common\lib中

#11


必须装包!!!!!!!!!!!!1

#12


不装SQL Server 纯JDBC驱动也行,楼上harston(顽石) 说错了。
安装SQL Server 纯JDBC驱动的目的是安装上三个jar文件,把三个jar文件拷贝到Tomcat 目录下Common下的lib目录下,Tomcat就可以找到驱动了

当然前提是楼主必须安装 sql server 2000 sp4补丁,否则会出现 Socket not established ...



<%
  String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
  Class.forName(sDBDriver);
  String sConnStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs";
  Connection connWeb=DriverManager.getConnection(sConnStr,"sa","sa");
%>


你的代码没问题!

#13


http://blog.csdn.net/chinabh/archive/2006/05/07/711873.aspx

#14


JDBC驱动在JDK中不是有嘛?干吗还要装?

#15


Connection con=DriverManager.getConnection();

#16


你的数据库有没有装好?
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","sa");上面代码中的sa,sa分别是你登陆数据库的用户名和密码,要根据你的改掉的
另外数据库安装时要选混合模式
我以前也连不上,重装了数据库选混合模式加入了SQL验证模式中的用户名和密码就可以连了

#17


jsp连接Sql Server7.0/2000数据库

testsqlserver.jsp如下:

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.sql.*"%>

<html>

<body>

<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";

//pubs为你的数据库的

String user="sa";

String password="";

Connection conn= DriverManager.getConnection(url,user,password);

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

String sql="select * from test";

ResultSet rs=stmt.executeQuery(sql);

while(rs.next()) {%>

您的第一个字段内容为:<%=rs.getString(1)%>

您的第二个字段内容为:<%=rs.getString(2)%>

<%}%>

<%out.print("数据库操作成功,恭喜你");%>

<%rs.close();

stmt.close();

conn.close();

%>

</body>

</html>

#18


SP3补订..很重要的...

#19


呵呵,这么多高人支招啊,太谢谢了,所以,又加了20分!
不过我还是有些不明白,SQL的补丁是要装SP3还是SP4?我的数据库是SQLSERVER2000,好像还真没打过补丁:)
我一直是写ASP,近来研究JSP,发现差别还真不少。我个人觉得连接数据库的方法应该不唯一,但不知道为什么我一直试不通。
我已经装过JDBC了,是不是再要建一个ODBC数据源才能用呢?

#20


HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: /Pubs.jsp(4,0) Page directive: can't have multiple occurrences of contentType
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:49)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:383)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:95)
at org.apache.jasper.compiler.Validator$PageDirectiveVisitor.visit(Validator.java:115)
at org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:235)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:1025)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:1031)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:187)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Validator.validate(Validator.java:536)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:186)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)



--------------------------------------------------------------------------------

Apache Tomcat/4.1.31

#21


上面是我的错误信息

#22


连接方式有3中,一种是用jdbc直接连接,这种方式要厂商数据库的支持,并且要有jdbc驱动包2种就是你说的建立一个数据源odbc,然后通过jdbcodbc驱动连接,这种方式效率不是一般低
Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);
Connection conn=DriverManager.getConnection("jdbc:odbc:xxxx",name,pass);xxxx为数据源名称。

3种就是通过jdbc调用数据库的接口,中间会友一个数据服务器。

#23


上楼的麻烦1
楼主的代码是正确的1
就是驱动及包没有导入的问题把!

#24


楼上的,什么叫“驱动及包没有导入”?我装完JDBC,也改过环境变量了,如果不是这个,应该怎么导?
PS:我的JDBC和JDK什么的没装在一起,而且我的目录是自建的,改过server.xml成功的。

#25


你的登录的用户是不是用的混合登录的模式阿,用windows登录模式是不行的。另外用户有连接操作数据库的权限没有。丢sp4或sp3补丁都可以,补丁打好就装jdbc驱动,别去搞什么odbc,麻烦
然后必须将安装目录中的lib目录下三个jar文件:
  
  msbase.jar,mssqlserver.jar,msutil.jar拷贝到Tomcat目录下common\lib目录下,之后,修改环境变量中的CLASSPATH,
  把SQL Server 2000 For JDBC 驱动程序安装目录下的
  D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
  D:\SQLDriverForJDBC\msutil.jar;
  追加到CLASSPATH中去,修改后的CLASSPATH如下:
  
  CLASSPATH=D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;
  _D:\Java\lib\tools.jar;D:\LubeeTomcat\common\lib\servlet.jar;
  _D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
  D:\SQLDriverForJDBC\msutil.jar
  
  必须重新启动Tomcat!
  
  这样做的目的是,jsp页面在编译过程中不会出现找不到sql server driver类库的问题

#26


com.microsoft.jdbc.sqlserver.SQLServerDriver要有的
打SQL补丁,据说sp3就可以的,我打的是sp4的,就可以访问sql server数据库了

#27


看到绮罗姑娘这么好学,俺也来踩踩场,哈哈!

下面是一贴专题贴,希望能对楼主有所帮助!
http://blog.csdn.net/yeno/archive/2006/01/02/568924.aspx

#28


谢谢楼上各位高人,我已经调好了:)
用JDBC和ODBC成功一次,又装了SP4后才发现都可以了,很开心的,学了不少东西。
而且深刻体会到ASP与JSP“巨大”的差别。。。
现在结贴,谢谢了!

#1


不装肯定不行萨,就像你写了个程序,要调用某个类的东西,但是没这个类行么?
com.microsoft.jdbc.sqlserver.SQLServerDriver这个东西就是个类文件

#2


JDBC驱动是要装的,不然没法。
我也新手,代码好像没问题。
你加一条查询语句看看查询结果是啥就行
这段代码你试试,在我这是可以的
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%> 
以下是从Ms SQL Server2000数据库读取的数据:
<%

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xxxx","sa","");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from yyyy");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+rst.getString(1)+"</td>");
out.println("<td>"+rst.getString(2)+"</td>");
out.println("<td>"+rst.getString(3)+"</td>");
out.println("<td>"+rst.getString(4)+"</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%> 

其中xxxx为数据库名,yyyy为表名

#3


不可以的
必须装JDBC的驱动

#4


sp3补丁也很重要喔

#5


www.microsoft.com/sql/default.mspx

SQL Server 2000 Driver for JDBC SP3

#6


直接丢sp4补丁也可,我就是

#7


听楼上诸位的意见,我已经装过JDBC了,可程序还是有错。
用jinjieai4587(死海文书)的例子:
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%> 
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","sa");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from authors");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+rst.getString(1)+"</td>");
out.println("<td>"+rst.getString(2)+"</td>");
out.println("<td>"+rst.getString(3)+"</td>");
out.println("<td>"+rst.getString(4)+"</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%>
还是出错呀。。。

#8


补丁大过了?
什么异常,贴出来

#9


恩,贴出错误来

#10


首先打上sp3的补丁,然后放入把安装jdbc驱动时产生的三个jar包到tomcat安装目录中的common\lib中

#11


必须装包!!!!!!!!!!!!1

#12


不装SQL Server 纯JDBC驱动也行,楼上harston(顽石) 说错了。
安装SQL Server 纯JDBC驱动的目的是安装上三个jar文件,把三个jar文件拷贝到Tomcat 目录下Common下的lib目录下,Tomcat就可以找到驱动了

当然前提是楼主必须安装 sql server 2000 sp4补丁,否则会出现 Socket not established ...



<%
  String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
  Class.forName(sDBDriver);
  String sConnStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs";
  Connection connWeb=DriverManager.getConnection(sConnStr,"sa","sa");
%>


你的代码没问题!

#13


http://blog.csdn.net/chinabh/archive/2006/05/07/711873.aspx

#14


JDBC驱动在JDK中不是有嘛?干吗还要装?

#15


Connection con=DriverManager.getConnection();

#16


你的数据库有没有装好?
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","sa");上面代码中的sa,sa分别是你登陆数据库的用户名和密码,要根据你的改掉的
另外数据库安装时要选混合模式
我以前也连不上,重装了数据库选混合模式加入了SQL验证模式中的用户名和密码就可以连了

#17


jsp连接Sql Server7.0/2000数据库

testsqlserver.jsp如下:

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.sql.*"%>

<html>

<body>

<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";

//pubs为你的数据库的

String user="sa";

String password="";

Connection conn= DriverManager.getConnection(url,user,password);

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

String sql="select * from test";

ResultSet rs=stmt.executeQuery(sql);

while(rs.next()) {%>

您的第一个字段内容为:<%=rs.getString(1)%>

您的第二个字段内容为:<%=rs.getString(2)%>

<%}%>

<%out.print("数据库操作成功,恭喜你");%>

<%rs.close();

stmt.close();

conn.close();

%>

</body>

</html>

#18


SP3补订..很重要的...

#19


呵呵,这么多高人支招啊,太谢谢了,所以,又加了20分!
不过我还是有些不明白,SQL的补丁是要装SP3还是SP4?我的数据库是SQLSERVER2000,好像还真没打过补丁:)
我一直是写ASP,近来研究JSP,发现差别还真不少。我个人觉得连接数据库的方法应该不唯一,但不知道为什么我一直试不通。
我已经装过JDBC了,是不是再要建一个ODBC数据源才能用呢?

#20


HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: /Pubs.jsp(4,0) Page directive: can't have multiple occurrences of contentType
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:49)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:383)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:95)
at org.apache.jasper.compiler.Validator$PageDirectiveVisitor.visit(Validator.java:115)
at org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:235)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:1025)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:1031)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:187)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Validator.validate(Validator.java:536)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:186)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)



--------------------------------------------------------------------------------

Apache Tomcat/4.1.31

#21


上面是我的错误信息

#22


连接方式有3中,一种是用jdbc直接连接,这种方式要厂商数据库的支持,并且要有jdbc驱动包2种就是你说的建立一个数据源odbc,然后通过jdbcodbc驱动连接,这种方式效率不是一般低
Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);
Connection conn=DriverManager.getConnection("jdbc:odbc:xxxx",name,pass);xxxx为数据源名称。

3种就是通过jdbc调用数据库的接口,中间会友一个数据服务器。

#23


上楼的麻烦1
楼主的代码是正确的1
就是驱动及包没有导入的问题把!

#24


楼上的,什么叫“驱动及包没有导入”?我装完JDBC,也改过环境变量了,如果不是这个,应该怎么导?
PS:我的JDBC和JDK什么的没装在一起,而且我的目录是自建的,改过server.xml成功的。

#25


你的登录的用户是不是用的混合登录的模式阿,用windows登录模式是不行的。另外用户有连接操作数据库的权限没有。丢sp4或sp3补丁都可以,补丁打好就装jdbc驱动,别去搞什么odbc,麻烦
然后必须将安装目录中的lib目录下三个jar文件:
  
  msbase.jar,mssqlserver.jar,msutil.jar拷贝到Tomcat目录下common\lib目录下,之后,修改环境变量中的CLASSPATH,
  把SQL Server 2000 For JDBC 驱动程序安装目录下的
  D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
  D:\SQLDriverForJDBC\msutil.jar;
  追加到CLASSPATH中去,修改后的CLASSPATH如下:
  
  CLASSPATH=D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;
  _D:\Java\lib\tools.jar;D:\LubeeTomcat\common\lib\servlet.jar;
  _D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
  D:\SQLDriverForJDBC\msutil.jar
  
  必须重新启动Tomcat!
  
  这样做的目的是,jsp页面在编译过程中不会出现找不到sql server driver类库的问题

#26


com.microsoft.jdbc.sqlserver.SQLServerDriver要有的
打SQL补丁,据说sp3就可以的,我打的是sp4的,就可以访问sql server数据库了

#27


看到绮罗姑娘这么好学,俺也来踩踩场,哈哈!

下面是一贴专题贴,希望能对楼主有所帮助!
http://blog.csdn.net/yeno/archive/2006/01/02/568924.aspx

#28


谢谢楼上各位高人,我已经调好了:)
用JDBC和ODBC成功一次,又装了SP4后才发现都可以了,很开心的,学了不少东西。
而且深刻体会到ASP与JSP“巨大”的差别。。。
现在结贴,谢谢了!