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) --------------------编程问答--------------------
--------------------编程问答-------------------- sqlserver连接2000和2005以后的数据库字符串是不一样的。
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
看是你那个冒号惹的祸么?
这个是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