刚开始学习oracle,用习惯了mysql,对oracle很是不理解……我在sqlplus下,使用system用户登录进去后,怎么创建数据库啊?mysql中是用create database xxx;然后使用use xxx;就可以使用这个数据库了。
为什么oracle中这条语句不行呢?登录进去后倒是就可以直接用create table建表了,那我们建的表是放在哪个数据库里了呢?数据库名又是什么啊?我就是想知道在程序开发中要写的数据库名怎么办啊?
比如:url="jdbc:oracle:thin:@localhost:1521:Test";
这个字符串中用到的Test数据库怎么在sqlplus中创建呢?创建完成后又该如何使用呢?问个傻问题:是不是oracle中一个用户只对应一个数据库呢?搞不懂,请高手赐教,谢谢
为什么oracle中这条语句不行呢?登录进去后倒是就可以直接用create table建表了,那我们建的表是放在哪个数据库里了呢?数据库名又是什么啊?我就是想知道在程序开发中要写的数据库名怎么办啊?
比如:url="jdbc:oracle:thin:@localhost:1521:Test";
这个字符串中用到的Test数据库怎么在sqlplus中创建呢?创建完成后又该如何使用呢?问个傻问题:是不是oracle中一个用户只对应一个数据库呢?搞不懂,请高手赐教,谢谢
但一般不是这样做,因为创建数据库是一个很复杂的过程,常通过DBCA图形化去创建。
在mysql中表在数据库下, 在oracle中, 表在用户下
你可以导出一个用户下的所有数据程序中开发, 给一段最简单的连接代码:public static void main(String[] args) throws SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException {
// TODO Auto-generated method stub\
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@192.168.120.113:1521:orcl";
String user="user001";
String password="userpassword";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from emp";
ResultSet rs=stmt.executeQuery(sql); 记得要引用数据库驱动包ojdbc14.jar
2.一般情况下,数据库名在安装oracle的时候已经创建了;连接数据库应该用实例名,而不是数据库名
3.连接数据库主机一般用IP地址
这个实例用来存储表、视图等等对象。
针对这个实例,可以创建方案(即用户)不同的方案创建的对象不能够相互访问,除非获得授权!
即便创建两个同名的对象,但是因为两个对象隶属于不同的方案,也是可以创建的!只是使用时要带上方案的名称!
然后在sqlplus里边用system/刚才你设置的密码@你刚才创建数据库时的sid登陆;
然后创建用户;
例如:
create user username identified by password;//创建用户
grant create session to manager;//授予连接权限
grant dba to manager;//授予dba权限
然后:
conn username/password@你刚才创建数据库时的sid;
然后就可以create table了,这个表就在你刚才创建的数据库里边了.
程序里边连接字符串这么写:
userid=manager;password=password;datasoure=你刚才创建数据库时的sid;//本地的
userid=manager;password=password;datasoure=你刚才创建数据库时的sid_192.168.0.120;//远程的