/**
*
*/
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!");
}
}
以上程序运行的时候为什么会产生这种异常啊?
*
*/
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!");
}
}
以上程序运行的时候为什么会产生这种异常啊?
2。JDBC的驱动下载最新.
3。用户名和密码错误,或者给定的用户没有权限。
4。端口错误。
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是这样的
jdbc:microsoft:sqlserver://电算所\\ZXX:1433;DatabaseName =tempdb"
很多时候用LOCALHOST:1433或127.0.0.1:1433 是不对的, 得看你的服务器名是什么