在oracle中dbname 就是数据库实例名称,直接写实例名称就OK

解决方案 »

  1.   

    sid没错oracle本身就弱化了schema概念,你在使用中可以忽略这个概念,实际上一个用户对应一个schema。oracle本来就不能创建schema,虽然有create schema语句,但是它创建的不是你说的这个schema。
      

  2.   


    我还是有疑问,假设我现有有一个Oracle实例,sid是xxx,现在我要用system用户连接这个实例的yyy数据库,那么连接字符串要怎么写?
      

  3.   


    我还是有疑问,假设我现有有一个Oracle实例,sid是xxx,现在我要用system用户连接这个实例的yyy数据库,那么连接字符串要怎么写?如果你用thin连的话,一般是通过连接字符串+用户密码获取一个Connection,然后进行操作,如下:String url="jdbc:oracle:thin:@localhost:1521:orcl";
    String user="user"; 
    String password="password"; 
    Connection conn= DriverManager.getConnection(url,user,password);当然前提是你用的是oracle.jdbc.driver.OracleDriver这个驱动。如:Class.forName("oracle.jdbc.driver.OracleDriver");
      

  4.   


    我还是有疑问,假设我现有有一个Oracle实例,sid是xxx,现在我要用system用户连接这个实例的yyy数据库,那么连接字符串要怎么写?如果你用thin连的话,一般是通过连接字符串+用户密码获取一个Connection,然后进行操作,如下:String url="jdbc:oracle:thin:@localhost:1521:orcl";
    String user="user"; 
    String password="password"; 
    Connection conn= DriverManager.getConnection(url,user,password);当然前提是你用的是oracle.jdbc.driver.OracleDriver这个驱动。如:Class.forName("oracle.jdbc.driver.OracleDriver");我不是问具体代码要怎么写= =,而是说,我现在用system用户(system用户下面可能会挂很多个schema不是吗?)连接sid为xxx的Oracle实例,好了,那我现在执行
    select * from table_yyy
    那么table_yyy这个表在哪个schema还没指定阿。还是说,table_yyy在这个Oracle实例中是唯一的,不用怕重复?
      

  5.   


    我还是有疑问,假设我现有有一个Oracle实例,sid是xxx,现在我要用system用户连接这个实例的yyy数据库,那么连接字符串要怎么写?如果你用thin连的话,一般是通过连接字符串+用户密码获取一个Connection,然后进行操作,如下:String url="jdbc:oracle:thin:@localhost:1521:orcl";
    String user="user"; 
    String password="password"; 
    Connection conn= DriverManager.getConnection(url,user,password);当然前提是你用的是oracle.jdbc.driver.OracleDriver这个驱动。如:Class.forName("oracle.jdbc.driver.OracleDriver");我不是问具体代码要怎么写= =,而是说,我现在用system用户(system用户下面可能会挂很多个schema不是吗?)连接sid为xxx的Oracle实例,好了,那我现在执行
    select * from table_yyy
    那么table_yyy这个表在哪个schema还没指定阿。还是说,table_yyy在这个Oracle实例中是唯一的,不用怕重复?比如说你system有一张表A,testUser有两张表A,B,使用system连接,执行select * from A,默认值system.A,这个表select * from testUser.A,就是testUser.A这个表select * from B,这样会报错,找不到表select * from testUser.B,这样就ok
      

  6.   


    我还是有疑问,假设我现有有一个Oracle实例,sid是xxx,现在我要用system用户连接这个实例的yyy数据库,那么连接字符串要怎么写?如果你用thin连的话,一般是通过连接字符串+用户密码获取一个Connection,然后进行操作,如下:String url="jdbc:oracle:thin:@localhost:1521:orcl";
    String user="user"; 
    String password="password"; 
    Connection conn= DriverManager.getConnection(url,user,password);当然前提是你用的是oracle.jdbc.driver.OracleDriver这个驱动。如:Class.forName("oracle.jdbc.driver.OracleDriver");我不是问具体代码要怎么写= =,而是说,我现在用system用户(system用户下面可能会挂很多个schema不是吗?)连接sid为xxx的Oracle实例,好了,那我现在执行
    select * from table_yyy
    那么table_yyy这个表在哪个schema还没指定阿。还是说,table_yyy在这个Oracle实例中是唯一的,不用怕重复?比如说你system有一张表A,testUser有两张表A,B,使用system连接,执行select * from A,默认值system.A,这个表select * from testUser.A,就是testUser.A这个表select * from B,这样会报错,找不到表select * from testUser.B,这样就ok

    行,明白了,多谢回答!