ms sql server2000 for jdbc驱动连接数据库问题

时间:2020-12-30 21:49:21
用jdbc-odbc桥连接成功,由于担心上传到空间供应商的时候不可以修改数据源,所以想用ms sql server2000 for jdbc连接数据库,首先:那驱动的三个jar我已经放到Tomcat 4.1\common\lib下面,环境变量设置好了,但出项“[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.”的错误,
问题:1.以上错误为什么会出现?怎么解决?
      2.现在的空间提供商可以免费让我们修改数据源odbc吗?如果不可以,用什么方法解决?(请有相关经历的高手指点一下)
      3.同样是空间提供商那边的问题,他们会允许我们修改他们的服务器配置吗?例如我用jspSmartUpload上传组件,他们允许我们免费将classes文件夹放到WEB-INF文件夹里面吗??(请有相关经历的高手指点一下)
     我刚用jsp作好一个后台,打算放上网,这时考虑到这些问题,请曾经成功把jsp与数据库都上传到isp的人说说你们的做法,100分相送

18 个解决方案

#1


例外可以提供几个支持jsp和MS SERVER 2000的空间isp网站给我吗?呵呵

#2


用ms sql server2000 for jdbc连接数据库连接数据库我也一直没有成功过

#3


安装SQL SERVER时,切记要选择(混合模式:mixed mode)
SQL SERVER FOR JDBC 的三个类放到:mssqlserver.jar,msbase.jar,msutil.jar
tomcat/common/lib/下面。
再设置环境变量~D:\Tomcat\common\lib\mssqlserver.jar

conn.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=test"; 
//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";   //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>

#4


这个原因是拒绝使用socket端口访问,正如楼上说的,你应该将登录方式选择为混合,如果不想重新安装,就到企业管理器里,右键你的服务器,在属性里改一下。

mysql有时也会有这个问题,特别是debian下用apt方式安装的默认socket连接时不允许的。

#5


那该如何改呢?还有第2和第3个问题具体是怎么解决?

#6


2.现在的空间提供商可以免费让我们修改数据源odbc吗?如果不可以,用什么方法解决?(请有相关经历的高手指点一下)
      3.同样是空间提供商那边的问题,他们会允许我们修改他们的服务器配置吗?例如我用jspSmartUpload上传组件,他们允许我们免费将classes文件夹放到WEB-INF文件夹里面吗??(请有相关经历的高手指点一下)

2:数据源一般是不让改的,但可以用这种方法连接数据库:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();   
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"; 
//pubs为你的数据库的 
String user="sa"; 
String password=""; 
Connection conn=DriverManager.getConnection(url,user,password);   
Statement stmt=conn.createStatement
也可以在服务器上配置数据库连接池,这样效率会高很多,也很稳定
3。服务器可以配置数据库连接池,WEB-INF文件夹是我们上传的目录,当然我们可以放任何文件,包括classes文件夹。

#7


首先感谢楼上的人,我说的WEB-INF是在Tomcat 4.1\webapps\ROOT\里面,而我的网站也放在Tomcat 4.1\webapps\ROOT\里面,这样我的网站与WEB-INF是同级目录,这可以在WEB-INF里面放文件吗??
另外,我尝试用过 楼上的去连数据库,但出项“[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.”的错误。怎么解决??我的服务器配置是tomcat4.1+msserver2000(没打补丁)

#8


1。除非你要求你提供服务,空间提供商一般不让你向服务器硬盘上写文件的,只让用ftp传。
2.操作系统为xp的话,sql server 2k必须打sp3的补丁。

#9


第一个问题解决了,原来是因为没打补丁,打了msserver的sp3补丁就没问题了谢谢各位。那么还有后面两个呢?问题解决后我会如实给分的

#10


up

#11


2.操作系统为xp的话,sql server 2k必须打sp3的补丁。

#12


对,我打上补丁后那问题就解决了

#13


新春愉快!

#14


up

#15


去年,我发现ms的sql server2000 driver for JDBC有一点不好用的问题,不知道现在好了没有?
    大意错误为:** field Can't reread .
 就是如果数据库中的字段循序为 id,name,pwd,email,address.
那么取数据也该按此循序。
如果这样循序取数据:id,name,email,pwd,address,那么pwd字段读错误,因为读了email字段后就不能回读。(你可以测试一下)haha
----------------后来我用 jtds-0.8.1,openSource 组织的。才解决!

#16


强烈建议用yymoth(心甘情愿) 的连接方法,不要用j-o桥。
其实用jtds的driver更好!ms的驱动自己的都做的那么差。

#17


第二个问题在需要买空间的时候跟服务商确认就行了

第三个问题好办嘛,你做在自己的目录下WEB-INF


看这个测试系统

http://soft.xixun.net/


我这里可以提供JSP空间

#18


关于enjoy330(*寒林*) 的有关数据库字段的读取顺序,我也遇到同样的问题,但是也只能按顺序读了,
另外,如yymoth(心甘情愿)那样能够用SQLServer 2000 Driver for JDBC,那空间供应商允许我们在common目录下放那三个驱动文件吗?

#1


例外可以提供几个支持jsp和MS SERVER 2000的空间isp网站给我吗?呵呵

#2


用ms sql server2000 for jdbc连接数据库连接数据库我也一直没有成功过

#3


安装SQL SERVER时,切记要选择(混合模式:mixed mode)
SQL SERVER FOR JDBC 的三个类放到:mssqlserver.jar,msbase.jar,msutil.jar
tomcat/common/lib/下面。
再设置环境变量~D:\Tomcat\common\lib\mssqlserver.jar

conn.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=test"; 
//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";   //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>

#4


这个原因是拒绝使用socket端口访问,正如楼上说的,你应该将登录方式选择为混合,如果不想重新安装,就到企业管理器里,右键你的服务器,在属性里改一下。

mysql有时也会有这个问题,特别是debian下用apt方式安装的默认socket连接时不允许的。

#5


那该如何改呢?还有第2和第3个问题具体是怎么解决?

#6


2.现在的空间提供商可以免费让我们修改数据源odbc吗?如果不可以,用什么方法解决?(请有相关经历的高手指点一下)
      3.同样是空间提供商那边的问题,他们会允许我们修改他们的服务器配置吗?例如我用jspSmartUpload上传组件,他们允许我们免费将classes文件夹放到WEB-INF文件夹里面吗??(请有相关经历的高手指点一下)

2:数据源一般是不让改的,但可以用这种方法连接数据库:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();   
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"; 
//pubs为你的数据库的 
String user="sa"; 
String password=""; 
Connection conn=DriverManager.getConnection(url,user,password);   
Statement stmt=conn.createStatement
也可以在服务器上配置数据库连接池,这样效率会高很多,也很稳定
3。服务器可以配置数据库连接池,WEB-INF文件夹是我们上传的目录,当然我们可以放任何文件,包括classes文件夹。

#7


首先感谢楼上的人,我说的WEB-INF是在Tomcat 4.1\webapps\ROOT\里面,而我的网站也放在Tomcat 4.1\webapps\ROOT\里面,这样我的网站与WEB-INF是同级目录,这可以在WEB-INF里面放文件吗??
另外,我尝试用过 楼上的去连数据库,但出项“[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.”的错误。怎么解决??我的服务器配置是tomcat4.1+msserver2000(没打补丁)

#8


1。除非你要求你提供服务,空间提供商一般不让你向服务器硬盘上写文件的,只让用ftp传。
2.操作系统为xp的话,sql server 2k必须打sp3的补丁。

#9


第一个问题解决了,原来是因为没打补丁,打了msserver的sp3补丁就没问题了谢谢各位。那么还有后面两个呢?问题解决后我会如实给分的

#10


up

#11


2.操作系统为xp的话,sql server 2k必须打sp3的补丁。

#12


对,我打上补丁后那问题就解决了

#13


新春愉快!

#14


up

#15


去年,我发现ms的sql server2000 driver for JDBC有一点不好用的问题,不知道现在好了没有?
    大意错误为:** field Can't reread .
 就是如果数据库中的字段循序为 id,name,pwd,email,address.
那么取数据也该按此循序。
如果这样循序取数据:id,name,email,pwd,address,那么pwd字段读错误,因为读了email字段后就不能回读。(你可以测试一下)haha
----------------后来我用 jtds-0.8.1,openSource 组织的。才解决!

#16


强烈建议用yymoth(心甘情愿) 的连接方法,不要用j-o桥。
其实用jtds的driver更好!ms的驱动自己的都做的那么差。

#17


第二个问题在需要买空间的时候跟服务商确认就行了

第三个问题好办嘛,你做在自己的目录下WEB-INF


看这个测试系统

http://soft.xixun.net/


我这里可以提供JSP空间

#18


关于enjoy330(*寒林*) 的有关数据库字段的读取顺序,我也遇到同样的问题,但是也只能按顺序读了,
另外,如yymoth(心甘情愿)那样能够用SQLServer 2000 Driver for JDBC,那空间供应商允许我们在common目录下放那三个驱动文件吗?