at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source)你的数据库打开了没有?查询分析器里 不用WINDOWS集成安全认证,既用sqlserver 身份验证 可不可以连上数据库? 如果不行那就要设置后才行
一、下载SQLSERVER2000的jdbc驱动程序。 在微软站点就有这个驱动程序: Window操作系统 http://www.uncj.com/upload/files/ms_jdbc_setup.exe http://download.microsoft.com/download/SQLSVR2000/jdbc/2000/NT45XP/EN-US/setup.exeUnix操作系统 Mssqlserver.tar http://download.microsoft.com/download/SQLSVR2000/jdbc/2000/UNIX/EN-US/mssqlserver.tar二、安装JDBC 执行ms_jdbc_setup.exe可执行文件,一切只需要点击下一步,至到出现finish按钮,完成安装。 注: (1) ms_JDBC_setup默认安装路径为: c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC
(2)此版(Version 2.2.0022)本仅支持 Microsoft SQL Server 2000 Driver for JDBC (3)安装目录\lib\下的三个jar文件即是我们要的JDBC驱动核心 msbase.jar mssqlserver.jar msutil.jar三、将以上(3)中指的三个jar文件加入到环境变量中去 classpath: 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
是啊,真不有行,我的系统是win2003+sqlserver2000+resin+jdk1.4.2,不过错误与前有不同: java.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:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at _test__jsp._jspService(/test.jsp:10) at com.caucho.jsp.JavaPage.service(JavaPage.java:75) at com.caucho.jsp.Page.subservice(Page.java:506) at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182) at com.caucho.server.http.Invocation.service(Invocation.java:315) at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246) at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:164) at com.caucho.server.TcpConnection.run(TcpConnection.java:139) at java.lang.Thread.run(Thread.java:534)
这样写也是一样。
这句出错了,
要么连接字符串出错,要么用户名或密码出错.
检查吧.
import java.util.*;
import java.sql.*;
import java.lang.*;
import javax.naming.InitialContext;
import javax.sql.DataSource;Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://10.1.7.12:1433;DatabaseName=showing2", "sa", "tomcat2002");
stmt=con.createStatement();
2.我用的的resin,数据库的用户口令是正确的,用别的delphj可以正常连接。
3.将那三个文件放在lib目录下也一样。
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)你的数据库打开了没有?查询分析器里 不用WINDOWS集成安全认证,既用sqlserver 身份验证 可不可以连上数据库?
如果不行那就要设置后才行
<!-- conn.jsp -->
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tree";
//Database后面值为你的数据库名
String user="sa";//用户
String password="";//密码
Connection conn= DriverManager.getConnection(url,user,password);
Statement smt=conn.createStatement(),smt_1=conn.createStatement(),smt_2=conn.createStatement();
//Statement
String sql;
%>
在微软站点就有这个驱动程序:
Window操作系统
http://www.uncj.com/upload/files/ms_jdbc_setup.exe
http://download.microsoft.com/download/SQLSVR2000/jdbc/2000/NT45XP/EN-US/setup.exeUnix操作系统 Mssqlserver.tar
http://download.microsoft.com/download/SQLSVR2000/jdbc/2000/UNIX/EN-US/mssqlserver.tar二、安装JDBC 执行ms_jdbc_setup.exe可执行文件,一切只需要点击下一步,至到出现finish按钮,完成安装。 注:
(1) ms_JDBC_setup默认安装路径为:
c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC
(2)此版(Version 2.2.0022)本仅支持
Microsoft SQL Server 2000 Driver for JDBC
(3)安装目录\lib\下的三个jar文件即是我们要的JDBC驱动核心
msbase.jar
mssqlserver.jar
msutil.jar三、将以上(3)中指的三个jar文件加入到环境变量中去
classpath:
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
注:我建议将以上三个文件拷贝至你的jvm机所在的lib或class目录下。此时我是将它拷贝至我的jvm目录下的jre/lib/ext下。
四、测试<%@ 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 jobs";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%
rs.close();
stmt.close();
conn.close();
%>
</body>
</html> 五、注意事项 1。要保证你的Sql服务是启动状态
2.在Sql 的管理器中能够使用sa或其它用户正常登录;(有些人在安装sql时用了nt用户管理模式,这里可能会有一定问题)
3.第一次配置好环境变量最好能重启一下电脑
4.注意JVM和DataBase的启动顺序:
先启动DataBase,再启动JVM机;
注:在停止Web服务器后,再重启动,中间最好能有10秒以上的间隔.
5.注意操作系统的网络连通性
A.启动了Tcp/IP服务
B.配置了相关IP地址,有些人机器可能用的是自动分配IP或有配置IP时,但网络不通可能也找不到IP
6.有些机器在调试明最好能将(四)中的连接地址localhost改成数据库服务器的IP,这也是要注意5的原因。我用这是成功的。
做了修改,但错误依旧。
请教Connection用的是SqlServer的JDBC驱动里的类还是用的java.sql里的类?因为我在SqlServer的JDBC驱动里找不到Connection这个类名。有的文章说,下的SqlServer的JDBC驱动里有些class文件没有。
请 noratong(诺拉) 留下你的联系方式吧,谢谢了
java.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:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at _test__jsp._jspService(/test.jsp:10)
at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
at com.caucho.jsp.Page.subservice(Page.java:506)
at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182)
at com.caucho.server.http.Invocation.service(Invocation.java:315)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246)
at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:164)
at com.caucho.server.TcpConnection.run(TcpConnection.java:139)
at java.lang.Thread.run(Thread.java:534)
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}catch(ClassNotFoundException ce)
{
System.out.println("Class driver not found.");
}
String url="jdbc:microsoft:sqlserver://10.1.7.12:1433;DatabaseName=showing2";
String user="sa";
String password="tomcat2002";
try
{
Connection con=DriverManager.getConnection(url,user,password);
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from conf";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
out.println(rs.getString(1));
out.println(rs.getString(2));
}
out.println("数据库操作成功,恭喜你");
rs.close();
stmt.close();
con.close(); }catch(SQLException ee)
{
System.out.println("连接数据库失败");
}
%>
</body>
</html>