jdbc连接sqlserver2000错误(100分)

  • 主题发起人 主题发起人 ddxxdmm
  • 开始时间 开始时间
D

ddxxdmm

Unregistered / Unconfirmed
GUEST, unregistred user!
我在jdbc连接sqlserver2000时,我输入
import com.microsoft.jdbc.sqlserver.SQLServerDriver;
就报错,我已经按照jrp的文章
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1362673来作,
将那3个jar文件放到jre/lib/ext/了.
希望懂的人赐教.
 
你是在JSP中用吗?
 
不需要引入,直接使用就行了,lib/ext/下包的引入是由Extension ClassLoader来完成的!使用代码如下:
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);
 
我也连很久了,没有成功!
总是报错!~
楼主,好了没。要是好的话能不能发给我。。谢谢!
prince_li@163.com
 
only you ,下面是我配置的servet和web.xml内容.但是会报错.我对你的
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
这条语句理解得可能有点问题,拜托你看看,那个1433是什么端口号,sqlserver还是tomcat.
那个ip是我tomcat的ip,还是数据库存放主机的ip.如果我能够配通,我一定将分数全部赠送.
servlet内容:
package TestPackage;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class SqlserverTest extends ClassLoader {
public static void main(String args[]) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String sourceURL="jdbc:micorsoft:sqlserver://40.1.40.14:1433;DatabaseName=baseinfo";
String user="mike";
String password="mike";
Connection conn;
conn = DriverManager.getConnection(sourceURL, user, password);
System.out.println("Startomg ok!");
conn.close();
}
}

web.xml相关内容:
<servlet>
<servlet-name>SqlServlet</servlet-name>
<servlet-class>TestPackage.SqlserverTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SqlServlet</servlet-name>
<url-pattern>/SqlPage</url-pattern>
</servlet-mapping>

我输入http://127.0.0.1:8080/Test/SqlPage
报错如下:
HTTP Status 503 - Servlet SqlServlet is currently unavailable
--------------------------------------------------------------------------------
type Status report
message Servlet SqlServlet is currently unavailable
description The requested service (Servlet SqlServlet is currently unavailable) is not currently available.

--------------------------------------------------------------------------------
Apache Tomcat/4.1.24
 
1433是SQL Server默认的服务端口!
同样道理,ip当然是Sql Server服务器的ip!
另外!你的代码大大的错误!我觉得你没有搞清楚Servlet的写法!
你为什么不看看Servlet的写法哪!在很多论坛都有或者看看参考书!甚至tomcat自己的例子!
Servlet应该从HttpServlet继承,而不是ClassLoader!我的意思是Sql Server的JDBC是由类载入器来载入的!不需要你引入!而不是告诉你从ClassLoader继承!
你的写法应该如下:
package TestPackage;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class SqlserverTest extends HttpServlet
{
public voiddo
Get(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
{
response.setContentType("text/html;charset=/"GB2312/"");
PrintWriter out=response.getWriter();
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String sourceURL="jdbc:micorsoft:sqlserver://40.1.40.14:1433;DatabaseName=baseinfo";
String user="mike";
String password="mike";
Connection conn=DriverManager.getConnection(sourceURL, user, password);
out.println("Startomg ok!");
conn.close();
}
catch (Exception e)
{
out.println("Error:"+e);
}
}
public voiddo
Post(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
{
doGet(request,response);
}
}

web.xml相关内容:注意,你必须在web-inf目录下面的classes子目录下有TestPackage的目录!然后把编译好的class文件放在此处!如果不知道为什么!请看java关于包的使用章节!
<servlet>
<servlet-name>SqlServlet</servlet-name>
<servlet-class>TestPackage.SqlserverTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SqlServlet</servlet-name>
<url-pattern>/SqlPage/*</url-pattern>
</servlet-mapping>

 
将几个lib放到webapp的WEB-INF/lib下直接引用即可
另外最好将页面处理和数据处理分开,在JSP/Servlet中调试很麻烦
 
非常赞成 only you
 
楼主的那个程序不是servlet。 结束帖子。
 
后退
顶部