当前位置:编程学习 > JAVA >>

java连接数据库问题 Invalid URL.

/**
 * jdbc方式去操作数据库,不需要配置数据源
 * 1.把java.sql.*引入
 * 2.需要引入三个Jar包
 * 3.特别说明,如果取值是按编号,则需要一一对应,如果是按照
 * 列名取值,则可以顺序灵活
 */
package com.test3;
import java.sql.*;
public class Test3 {


public static void main(String[] args) {
// TODO Auto-generated method stub
        //PreparedStatement【火箭车】
//定义需要的对象
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;

try{
//初始化我们的对象
//1.加载驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//2.得到连接
ct=DriverManager.getConnection
("jdbc:microsoft:sqlserver://127.0.0.1:1433:databaseName=spdb2");
//3.创建火箭车
ps=ct.prepareStatement("select * from emp");
//ps=ct.prepareStatement("select ename,sal,deptno from emp");
//4.执行[如果是增加。删除,修改 executeUpdate()
//如果是查询 executeQuery()
rs=ps.executeQuery();
//循环的取出,雇员的名字,雇员的薪水,部门的编号
while(rs.next())
{
String name=rs.getString(2);
float sal=rs.getFloat(6);
int deptno=rs.getInt(8);
System.out.println(name+" "+sal+" "+deptno);
}

}catch(Exception e){
e.printStackTrace();
}finally{

}

}
}

错误:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unable to connect.  Invalid URL.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at com.test3.Test3.main(Test3.java:24) --------------------编程问答--------------------

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
看是你那个冒号惹的祸么?
--------------------编程问答-------------------- sqlserver连接2000和2005以后的数据库字符串是不一样的。
这个是2005的 
public static final String DRIVE = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//驱动 
public static final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=books"; 
这个是2000的 
public static final String DRIVE = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//驱动 
public static final String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books";
--------------------编程问答-------------------- ct=DriverManager.getConnection
("jdbc:microsoft:sqlserver://127.0.0.1:1433:databaseName=spdb2");


对,1433后面是分号
ct=DriverManager.getConnection
("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=spdb2");
--------------------编程问答-------------------- localhost怎么查 --------------------编程问答-------------------- 换成冒号也不行 --------------------编程问答-------------------- 一般情况127.0.0.1就是localhost,换成冒号也不行,新异常是什么 --------------------编程问答-------------------- 突然发现楼主没有用户名和密码? --------------------编程问答-------------------- ct=DriverManager.getConnection
(dbURL,username,password);自己替换试试。。。 --------------------编程问答-------------------- 我的数据库时windows 验证模式,不用用户和密码 --------------------编程问答-------------------- java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unable to connect.  Invalid URL.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at com.test3.Test3.main(Test3.java:24)
这是新异常
冒号 啥的都换了 --------------------编程问答-------------------- SQL server 2000用这个,异常没变化啊?
DRIVE = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//驱动 
URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books"; --------------------编程问答-------------------- /**
 * jdbc方式去操作数据库,不需要配置数据源
 * 1.把java.sql.*引入
 * 2.需要引入三个Jar包
 * 3.特别说明,如果取值是按编号,则需要一一对应,如果是按照
 * 列名取值,则可以顺序灵活
 */
package com.test3;
import java.sql.*;
public class Test3 {


public static void main(String[] args) {
// TODO Auto-generated method stub
        //PreparedStatement【火箭车】
//定义需要的对象
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;

try{
//初始化我们的对象
//1.加载驱动
//Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //2000
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");     //2005
//2.得到连接
// ct=DriverManager.getConnection
// ("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=spdb2");  //2000
ct=DriverManager.getConnection
("jdbc:sqlserver://127.0.0.1:1433;DatabaseName=spdb2");              //2005
//3.创建火箭车
ps=ct.prepareStatement("select * from emp");
//ps=ct.prepareStatement("select ename,sal,deptno from emp");
//4.执行[如果是增加。删除,修改 executeUpdate()
//如果是查询 executeQuery()
rs=ps.executeQuery();
//循环的取出,雇员的名字,雇员的薪水,部门的编号
while(rs.next())
{
String name=rs.getString(2);
float sal=rs.getFloat(6);
int deptno=rs.getInt(8);
System.out.println(name+" "+sal+" "+deptno);
}

}catch(Exception e){
e.printStackTrace();
}finally{

}
}

}

控制台:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unable to connect.  Invalid URL.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at com.test3.Test3.main(Test3.java:24)
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,