java 链接SQLserver2000时出错
今天安装了sqlserver2000然后下了一个jdbc驱动程序安装完后把lib下的三个.jar文件考到了ext目录下然后变了一个程序运行出错:java.sql.SQLE...
今天安装了sqlserver2000 然后下了一个jdbc驱动程序 安装完后 把lib下的三个.jar文件考到了ext目录下 然后变了一个程序 运行出错:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
。。。。
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]java
。。。。
我自己新建了一个名为java的数据库
程序如下:
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestDB {
public static void main(String[] args){
try{
runTest();
}
catch(SQLException ex){
while(ex!=null)
{
ex.printStackTrace();
ex=ex.getNextException();
}
}
catch(IOException ex){
ex.printStackTrace();
}
}
public static void runTest()throws SQLException,IOException{
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://java", "sa","19841017");
try{
Statement stat = conn.createStatement();
stat.execute("CREATE TABLE Greetings(Message CHAR(20))");
stat.execute("INSERT INTO Greetings VALUES('HELLO ,WORLD!')");
ResultSet result = stat.executeQuery("SELECT * FROM Greetings");
result.next();
System.out.println(result.getString(1));
stat.execute("DROP TABLE Greetings");
}
finally{
conn.close();
}
}
}
请大家帮我分析一下吧 安装完后还需要什么配置吗? 还是别的 ?
我用的是xp的水平sp2系统 按照各位好心人的建议 我打了sp3和sp4的补丁 写上了1433的端口号和localhost即:
Connection conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=java", "sa","19841017");
可是错误又成了:[Microsoft][SQLServer 2000 Driver for JDBC]Unable to connect. Invalid URL.
是不是我写的jdbc的url不对啊 我的jdbc的驱动以及url都是从网上搜的 如果是url不对的话 有没有人可以给我一个好用的啊 sql的jdbc url格式是通用的吗 ? 展开
。。。。
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]java
。。。。
我自己新建了一个名为java的数据库
程序如下:
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestDB {
public static void main(String[] args){
try{
runTest();
}
catch(SQLException ex){
while(ex!=null)
{
ex.printStackTrace();
ex=ex.getNextException();
}
}
catch(IOException ex){
ex.printStackTrace();
}
}
public static void runTest()throws SQLException,IOException{
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://java", "sa","19841017");
try{
Statement stat = conn.createStatement();
stat.execute("CREATE TABLE Greetings(Message CHAR(20))");
stat.execute("INSERT INTO Greetings VALUES('HELLO ,WORLD!')");
ResultSet result = stat.executeQuery("SELECT * FROM Greetings");
result.next();
System.out.println(result.getString(1));
stat.execute("DROP TABLE Greetings");
}
finally{
conn.close();
}
}
}
请大家帮我分析一下吧 安装完后还需要什么配置吗? 还是别的 ?
我用的是xp的水平sp2系统 按照各位好心人的建议 我打了sp3和sp4的补丁 写上了1433的端口号和localhost即:
Connection conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=java", "sa","19841017");
可是错误又成了:[Microsoft][SQLServer 2000 Driver for JDBC]Unable to connect. Invalid URL.
是不是我写的jdbc的url不对啊 我的jdbc的驱动以及url都是从网上搜的 如果是url不对的话 有没有人可以给我一个好用的啊 sql的jdbc url格式是通用的吗 ? 展开
展开全部
估计有以下几个问题,你改好后试试看
1。Connection conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=java", "sa","19841017"); 这里的19841017银该和你的数据库登陆密码是一样的吧?还有就是你的数据库建库时是否是属于sa用户?
2。导包 import com.microsoft.jdbc.sqlserver.SQLServerDriver;
如果你的三个jar包放对位置而且能够找到的话,直接就可以点出来
3。Connection conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=java", "sa","19841017"); 这里的数据库名称为java,注意两个地方,一,=号后面不能有空格,二,java是保留字,可能有冲突,换个数据库名称试试。
4。如果怀疑是jdbc驱动的问题,建议使用桥连接。如果不出错的话,就是jar包的问题了。
5。runTest()方法最后的
finally{
conn.close();
}
不管连接是否成功,但是执行到这里conn都已经关闭。这样前面所做的连接丝毫没有意义。建议写个方法用于打开连接,返回conn,再专门写个静态的方法用于关闭连接。
6.防止其他的异常,
public static void main(String[] args){
try{
runTest();
}
catch(SQLException ex){
while(ex!=null)
{
ex.printStackTrace();
ex=ex.getNextException();
}
}
catch(IOException ex){
ex.printStackTrace();
} catch(Exception es){
es.printStackTrace();
}
}
如有其他疑问加 QQ416942102 附加信息JAVA
1。Connection conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=java", "sa","19841017"); 这里的19841017银该和你的数据库登陆密码是一样的吧?还有就是你的数据库建库时是否是属于sa用户?
2。导包 import com.microsoft.jdbc.sqlserver.SQLServerDriver;
如果你的三个jar包放对位置而且能够找到的话,直接就可以点出来
3。Connection conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=java", "sa","19841017"); 这里的数据库名称为java,注意两个地方,一,=号后面不能有空格,二,java是保留字,可能有冲突,换个数据库名称试试。
4。如果怀疑是jdbc驱动的问题,建议使用桥连接。如果不出错的话,就是jar包的问题了。
5。runTest()方法最后的
finally{
conn.close();
}
不管连接是否成功,但是执行到这里conn都已经关闭。这样前面所做的连接丝毫没有意义。建议写个方法用于打开连接,返回conn,再专门写个静态的方法用于关闭连接。
6.防止其他的异常,
public static void main(String[] args){
try{
runTest();
}
catch(SQLException ex){
while(ex!=null)
{
ex.printStackTrace();
ex=ex.getNextException();
}
}
catch(IOException ex){
ex.printStackTrace();
} catch(Exception es){
es.printStackTrace();
}
}
如有其他疑问加 QQ416942102 附加信息JAVA
展开全部
请将
Connection conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://java", "sa","19841017");
改成以下代码试试:
Connection conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=这里填你的数据库名称", "sa","19841017");
//localhost 代表本机 1433是SQL的端口号
如果你用的工具的eclipse,检查以下文件是否配好
右击你的项目--添加库--用户库--新增--找到你的3个.jar架包--确定
Connection conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://java", "sa","19841017");
改成以下代码试试:
Connection conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=这里填你的数据库名称", "sa","19841017");
//localhost 代表本机 1433是SQL的端口号
如果你用的工具的eclipse,检查以下文件是否配好
右击你的项目--添加库--用户库--新增--找到你的3个.jar架包--确定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下面是我成功的例子
URL地址不是通用的,每一种数据库对应的是不一样的
你的错误是在加载驱动的时候出错的,你可以看下是否成功加载了驱动
import java.sql.*;
import javax.swing.JOptionPane;
public class sqltest
{
public sqltest ()
{
}
public static void main (String[] agrs) throws SQLException
{
Connection conn = null;
String user="sa";
String password="RCZN72CP";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
new sqltest ();
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn= java.sql.DriverManager.getConnection(url,user,password);
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null,"装载连接sql server失败" + e.getMessage());
}
Statement stmt = conn.createStatement();
ResultSet rst = stmt.executeQuery("select * from student;");
System.out.println ("ID"+" "+"NAME"+" "+"NO"+" "+"AGE");
while(rst.next())
{
System.out.println(trans(rst.getString("ID"))+" "+trans(rst.getString("NAME"))+trans(rst.getString("NO"))+trans(rst.getString("AGE")));
}
conn.close();
rst.close();
stmt.close();
}
static String trans(String chi)
{
String result = null;
byte temp[];
try
{
temp = chi.getBytes("iso-8859-1");
result = new String (temp);
}
catch(Exception e)
{
System.out.println(e.toString());
}
return result;
}
}
URL地址不是通用的,每一种数据库对应的是不一样的
你的错误是在加载驱动的时候出错的,你可以看下是否成功加载了驱动
import java.sql.*;
import javax.swing.JOptionPane;
public class sqltest
{
public sqltest ()
{
}
public static void main (String[] agrs) throws SQLException
{
Connection conn = null;
String user="sa";
String password="RCZN72CP";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
new sqltest ();
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn= java.sql.DriverManager.getConnection(url,user,password);
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null,"装载连接sql server失败" + e.getMessage());
}
Statement stmt = conn.createStatement();
ResultSet rst = stmt.executeQuery("select * from student;");
System.out.println ("ID"+" "+"NAME"+" "+"NO"+" "+"AGE");
while(rst.next())
{
System.out.println(trans(rst.getString("ID"))+" "+trans(rst.getString("NAME"))+trans(rst.getString("NO"))+trans(rst.getString("AGE")));
}
conn.close();
rst.close();
stmt.close();
}
static String trans(String chi)
{
String result = null;
byte temp[];
try
{
temp = chi.getBytes("iso-8859-1");
result = new String (temp);
}
catch(Exception e)
{
System.out.println(e.toString());
}
return result;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用sqlserver2000会出现这种问题,好像是版本有问题,但如用别的如:MYSQL,ORACLE就不会了
我以前也是这样,现在改换MYSQL了
我以前也是这样,现在改换MYSQL了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1433端口没打开!!
请问sqlserver2000打了SP4补丁没??
如果打了!!那就有可能是电脑中毒了!!
请问sqlserver2000打了SP4补丁没??
如果打了!!那就有可能是电脑中毒了!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在你种了sp3或sp4的补丁的情况下:
严重建议你换驱动!sqlserver的jdbc驱动经常出问题(我经常遇到)!
重新copy一份就OK!
呵呵
严重建议你换驱动!sqlserver的jdbc驱动经常出问题(我经常遇到)!
重新copy一份就OK!
呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询