/**
 * 
 */
package SQLServerTest;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;public class CreateTableP {
/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub String url = "jdbc:odbc:greenkugua";
Connection con;
String createString;
createString = "create table  P "+
"(PNO VARCHAR(5) NOT NULL UNIQUE, "+
"PNAME VARCHAR(20), "+
"COLOR VARCHAR(5), "+
"WEIGHT INTEGER)";

Statement stmt;

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){
System.out.println("ClassNotFoundException:");
System.err.println(e);
} try{
con = DriverManager.getConnection(url);//建立连接的时候出错;
stmt = con.createStatement();
stmt.executeUpdate(createString);
stmt.close();
con.close();
}catch(SQLException ex){
System.out.println("SQLException:"+ex.getMessage());
}
System.out.println("Success to create table P!");
}
}
以上程序运行的时候为什么会产生这种异常啊?

解决方案 »

  1.   

    1。最好能升级SQL Server2000到sp4.
    2。JDBC的驱动下载最新.
    3。用户名和密码错误,或者给定的用户没有权限。
    4。端口错误。
      

  2.   

    class mcon{
    mcon(){
    String strurl="jdbc:jtds:sqlserver://HH:1443;DatabaseName=Mydatabase";
    try{
    Class.forName("net.sourceforge.jtds.jdbc.Driver");
    }catch(ClassNotFoundException e){
    e.printStackTrace();
    System.out.println("错误1");
    }
    try{
    Connection conn=DriverManager.getConnection(strurl,"sa","");
    }catch(Exception e){
    e.printStackTrace();
    System.out.println("错误2");
    }
    }
    }
    public class Myclass { public static void main(String[] args) {
    new mcon();
    }
    }以上是我的Java程序,语法上没有错,但在运行时会报以下错:
    java.sql.SQLException: Network error IOException: Connection refused: connect
    at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:371)
    at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
    at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:188)
    at java.sql.DriverManager.getConnection(DriverManager.java:525)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at wage.mcon.<init>(Myclass.java:28)
    at wage.Myclass.main(Myclass.java:38)
    Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:364)
    at java.net.Socket.connect(Socket.java:507)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:275)
    at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:300)
    ... 6 more
    错误2
    我的SQLserver是这样的
     
      

  3.   

    可是我的安装文件里面有sp4_serv_uni.sql这个文件,是不是就是说是SP4的呢?我前两年买的一张盘,连接Access的时候都可以的。还有就是我用的是XP,采用的是Windows认证模式,不能升级。
      

  4.   

    数据库没启, 或者服务器名不对
    jdbc:microsoft:sqlserver://电算所\\ZXX:1433;DatabaseName =tempdb"
    很多时候用LOCALHOST:1433或127.0.0.1:1433 是不对的, 得看你的服务器名是什么
      

  5.   

    安装SQLServer2000的SP3补丁setup只是解压缩 解压缩后的bat文件才是安装文件 点击安装