java.sql.SQLException: 指定了无效的 Oracle URL

Love_Conan 2014-08-13 02:40:41
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class ConOrcacl{
private String dbDriver = "oracle.jdbc.driver.OracleDriver";
private String dbURL = "jdbc:oracle:thin:@localhost:1521:orcl";
private String dbUser = "UniversityDB";
private String dbPwd = "tiger";
private Connection con = null;
private Statement stat = null;
private String sql = null;
private ResultSet rs = null;
public Connection getDBConnect(){
try{
Class.forName(dbDriver);
con = DriverManager.getConnection(dbURL, dbUser, dbPwd);
}catch(Exception e){
System.out.println(e);
}
return con;
}
public void Add(){
con = getDBConnect();
sql = "insert into yizhanqu(name, address, birthday, interest)" + "values('缪小建', '江苏省南通市如东县', 19910728, '打游戏 睡觉')";
try{
stat = con.createStatement();
stat.executeUpdate(sql);
}catch(SQLException e){
e.printStackTrace();
}
}
public void Delete(){
con = getDBConnect();
sql = "delete from yizhanqu" + "where name = '杨丙庭'";
try{
stat = con.createStatement();
stat.executeUpdate(sql);
}catch(SQLException e){
e.printStackTrace();
}
}
public void Update(){
con = getDBConnect();
sql = "update yizhanqu set birthday = 0108 where name = '李笑笑'";
try{
stat = con.createStatement();
}catch(SQLException e){
e.printStackTrace();
}
}
public void Search(){
con = getDBConnect();
sql = "SELECT * FROM yizhanqu";
try{
stat = con.createStatement();
rs = stat.executeQuery(sql);
while(rs.next()){
String name = rs.getString(1);
String address = rs.getString(2);
double birthday = rs.getDouble(3);
String interest =rs.getString(4);
System.out.println(name + "," + address + "," + birthday + "," + interest);
}
}catch(SQLException e){
e.printStackTrace();
}
}
public void close(){
try{
try{
if(rs != null)
rs.close();
}finally{
try{
if(stat != null)
stat.close();
}finally{
if(con != null)
con.close();
}
}
}catch(Exception e){
e.printStackTrace(System.err);
}
}
public static void main(String[] args){
ConOrcacl oracl = new ConOrcacl();
System.out.println("操作之前: ");
oracl.Search();
oracl.Add();
oracl.Delete();
oracl.Update();
System.out.println("操作之后: ");
oracl.Search();
oracl.close();
}




执行后的结果是
...全文
539 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Love_Conan 2014-08-14
  • 打赏
  • 举报
回复
引用 4 楼 huangdh12 的回复:
把localhost换成127.0.0.1 试试。
谢谢 我会了
Love_Conan 2014-08-14
  • 打赏
  • 举报
回复
[quote=引用 5 楼 bw555 的回复:] 1、
sql = "insert into yizhanqu(name, address, birthday, interest)" + "values('缪小建', '江苏省南通市如东县', 19910728, '打游戏 睡觉')";
birthday是什么类型?文本的话,19910728的前后也要加单引号,日期类型 改为to_date('19910728','yyyymmdd') 2、
sql = "delete from yizhanqu" + "where name = '杨丙庭'";
拼接的sql语句 表名和where之间没空格,需改为
sql = "delete from yizhanqu where name = '杨丙庭'";
3、
sql = "update yizhanqu set birthday = 0108 where name = '李笑笑'";
这里生日又只是几月几日了,年份不要了?修改方法同1 这些都是你拼接的sql语句的问题,和你报的错无关[/quote 我知道那里错了 谢谢
bw555 2014-08-13
  • 打赏
  • 举报
回复
1、
sql = "insert into yizhanqu(name, address, birthday, interest)" + "values('缪小建', '江苏省南通市如东县', 19910728, '打游戏 睡觉')";
birthday是什么类型?文本的话,19910728的前后也要加单引号,日期类型 改为to_date('19910728','yyyymmdd') 2、
sql = "delete from yizhanqu" + "where name = '杨丙庭'";
拼接的sql语句 表名和where之间没空格,需改为
sql = "delete from yizhanqu where name = '杨丙庭'";
3、
sql = "update yizhanqu set birthday = 0108 where name = '李笑笑'";
这里生日又只是几月几日了,年份不要了?修改方法同1 这些都是你拼接的sql语句的问题,和你报的错无关
huangdh12 2014-08-13
  • 打赏
  • 举报
回复
把localhost换成127.0.0.1 试试。
Love_Conan 2014-08-13
  • 打赏
  • 举报
回复
引用 2 楼 bw555 的回复:
这个错是哪行报的?
上面没有显示错误
bw555 2014-08-13
  • 打赏
  • 举报
回复
这个错是哪行报的?
Love_Conan 2014-08-13
  • 打赏
  • 举报
回复
谁能告诉我 怎么弄下啊

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧