2018暑假周进度1
Posted luohaochi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018暑假周进度1相关的知识,希望对你有一定的参考价值。
(1)本周学习Oracle数据库的基本知识。
参考书:
安装Oracle数据库12c版本。
安装完成。
解决问题时间:半天(本周没怎么学习)
(2)下周准备学习Oracle数据库操作,结合使用java语言,eclipse环境进行学习。
(3)遇到的问题
问题1:使用用户、口令登陆EM被拒绝。
解决:
打开sql plus
/as sysdba使用超级管理员登陆
alter user system account unlock;解除锁定
登陆成功
问题2:使用eclipse、navicat 连接数据库报错
相应服务是否打开
orcale ora-12541:tns:no listener
ORA-28547:connection to server failed, probably oracle net admin error
解决:navicat oci.dll版本不兼容
下载instantclient-basic-nt 我的是32位
navicat 设置
连接成功
问题3:连接eclipse
导入jar包
数据库连接代码:
package orcl; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class util { //主方法 public static void main(String[] args) throws SQLException { OracleJdbcTest test = new OracleJdbcTest(); try{ test.query("drop table testjdbc"); } catch(SQLException e){} test.query("create table testjdbc(id int,name nchar(20))"); test.query("insert into testjdbc values(1,‘数据库‘)"); test.query("insert into testjdbc values(2,‘连接成功‘)"); test.query("SELECT * FROM testjdbc",true); test.close(); } } class OracleJdbcTest{ //数据库连接对象 private static Connection conn = null; private static String driver = "oracle.jdbc.driver.OracleDriver"; //驱动 private static String url = "jdbc:oracle:thin:@//127.0.0.1:1521/orcl"; //连接字符串 private static String username = "system"; // 用户名 private static String password = "luohaochi"; // 密码 //获取连接对象 private static synchronized Connection getConn(){ if(conn==null){ try { Class.forName(driver); conn = DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } return conn; } //执行查询语句 public void query(String sql,boolean isSelect) throws SQLException { PreparedStatement pstmt; try { pstmt = getConn().prepareStatement(sql); // 建立一个结果集,用来保存查询出来的结果 ResultSet rs = pstmt.executeQuery(); while (rs.next()) { String name = rs.getString("name"); System.out.println(name); } rs.close(); pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } } public void query(String sql) throws SQLException { PreparedStatement pstmt; pstmt = getConn().prepareStatement(sql); pstmt.execute(); pstmt.close(); } //关闭连接 public void close(){ try { getConn().close(); } catch (SQLException e) { e.printStackTrace(); } } }
以上是关于2018暑假周进度1的主要内容,如果未能解决你的问题,请参考以下文章