Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle11gExpress Java JDBC;数据库工作区_Java_Jdbc_Oracle11g - Fatal编程技术网

Oracle11gExpress Java JDBC;数据库工作区

Oracle11gExpress Java JDBC;数据库工作区,java,jdbc,oracle11g,Java,Jdbc,Oracle11g,我在进入驻留数据库的Oracle 11g Express工作区时遇到一些困难 我能够通过Class.forName(“JDBC.oracle.Driver.OracleDriver”)注册我的JDBC驱动程序,并通过Connection con=DriverManager.getConnection(“JDBC:oracle:thin:“+username+”/“+password+”@localhost:1521:xe”)成功连接但无法进入包含我创建的数据库的工作区 任何通过语句smt=Con

我在进入驻留数据库的Oracle 11g Express工作区时遇到一些困难

我能够通过
Class.forName(“JDBC.oracle.Driver.OracleDriver”)
注册我的
JDBC驱动程序,并通过
Connection con=DriverManager.getConnection(“JDBC:oracle:thin:“+username+”/“+password+”@localhost:1521:xe”)成功连接
但无法进入包含我创建的数据库的工作区

任何通过
语句smt=Connection.createStatement()
创建数据库的尝试都会产生
java.lang.UnsupportedOperationException

我甚至不确定我是否连接到了正确的位置。我知道,当我查看Oracle数据库11.2 XE参数时,它会将
db_name
列为
XE
,我可以通过
sys as sysdba
连接到它,并使用我为Oracle 11g Express数据库建立的密码,但当我创建了一个数据库并使用
ddl
dml
语句来填充它

也许我现在不知道该怎么办,因为我是JDBC新手。我检查了TNSNAMES.ORA文件,确实有一个
XE
条目代表我的Oracle 11g Express,还有其他条目代表Oracle中的数据库。我想我就在那里,我只是不知道该怎么做才能访问我创建的
XE
数据库

我用于执行SQL语句的代码如下所示:

    Statement smt = null;


    try {
        smt = connection.createStatement();

        String command = "CREATE table x(y varchar(2))";

        smt.executeLargeUpdate(command);

    } catch (SQLException e) {
        // TODO Auto-generated catch block
        System.out.println(e.getMessage() + e.getCause());
    }

在类路径上需要ojbdc6.jar或等效文件。这也可能是一些其他问题,因此我将详细介绍一个工作示例,希望它能够突出问题

我正在使用以下配置和组件:

  • 视窗XP
  • 用于windows的Oracle XE 32位
  • 日食开普勒
  • jdk1.7.0_51
  • ojbc6.jar
我执行以下步骤从java类生成到oracle xe数据库的连接:

运行Oracle XE 32位windows安装程序,提供密码“password”。然后运行services.msc以确认TNS listner和XE服务都在运行

然后在eclipse中创建一个新的java项目。将ojbc6.jar作为外部jar添加到构建路径中

然后我运行以下类(右键单击->运行方式->java应用程序)来创建表:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;


public class MyOracleTest {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("oracle.jdbc.OracleDriver");
        String username = "sys as sysdba";
        String password = "password";
        Connection conn = null;
        Statement st = null;
        try{
            conn = DriverManager.getConnection("jdbc:oracle:thin:" + username + "/" + password + "@localhost:1521:xe");
            st = conn.createStatement();
            String command = "CREATE table x(y varchar(2))";
            st.executeUpdate(command);
        }finally{
        if(st != null){
            st.close();
        }
        if(conn != null){
            conn.close();
        }
        }
    }
然后,我使用sqlplus验证表的存在性:


类路径上需要ojbdc6.jar或等效文件。这也可能是一些其他问题,因此我将详细介绍一个工作示例,希望它能够突出问题

我正在使用以下配置和组件:

  • 视窗XP
  • 用于windows的Oracle XE 32位
  • 日食开普勒
  • jdk1.7.0_51
  • ojbc6.jar
我执行以下步骤从java类生成到oracle xe数据库的连接:

运行Oracle XE 32位windows安装程序,提供密码“password”。然后运行services.msc以确认TNS listner和XE服务都在运行

然后在eclipse中创建一个新的java项目。将ojbc6.jar作为外部jar添加到构建路径中

然后我运行以下类(右键单击->运行方式->java应用程序)来创建表:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;


public class MyOracleTest {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("oracle.jdbc.OracleDriver");
        String username = "sys as sysdba";
        String password = "password";
        Connection conn = null;
        Statement st = null;
        try{
            conn = DriverManager.getConnection("jdbc:oracle:thin:" + username + "/" + password + "@localhost:1521:xe");
            st = conn.createStatement();
            String command = "CREATE table x(y varchar(2))";
            st.executeUpdate(command);
        }finally{
        if(st != null){
            st.close();
        }
        if(conn != null){
            conn.close();
        }
        }
    }
然后,我使用sqlplus验证表的存在性:


类路径上需要ojbdc6.jar或等效文件。这也可能是一些其他问题,因此我将详细介绍一个工作示例,希望它能够突出问题

我正在使用以下配置和组件:

  • 视窗XP
  • 用于windows的Oracle XE 32位
  • 日食开普勒
  • jdk1.7.0_51
  • ojbc6.jar
我执行以下步骤从java类生成到oracle xe数据库的连接:

运行Oracle XE 32位windows安装程序,提供密码“password”。然后运行services.msc以确认TNS listner和XE服务都在运行

然后在eclipse中创建一个新的java项目。将ojbc6.jar作为外部jar添加到构建路径中

然后我运行以下类(右键单击->运行方式->java应用程序)来创建表:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;


public class MyOracleTest {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("oracle.jdbc.OracleDriver");
        String username = "sys as sysdba";
        String password = "password";
        Connection conn = null;
        Statement st = null;
        try{
            conn = DriverManager.getConnection("jdbc:oracle:thin:" + username + "/" + password + "@localhost:1521:xe");
            st = conn.createStatement();
            String command = "CREATE table x(y varchar(2))";
            st.executeUpdate(command);
        }finally{
        if(st != null){
            st.close();
        }
        if(conn != null){
            conn.close();
        }
        }
    }
然后,我使用sqlplus验证表的存在性:


类路径上需要ojbdc6.jar或等效文件。这也可能是一些其他问题,因此我将详细介绍一个工作示例,希望它能够突出问题

我正在使用以下配置和组件:

  • 视窗XP
  • 用于windows的Oracle XE 32位
  • 日食开普勒
  • jdk1.7.0_51
  • ojbc6.jar
我执行以下步骤从java类生成到oracle xe数据库的连接:

运行Oracle XE 32位windows安装程序,提供密码“password”。然后运行services.msc以确认TNS listner和XE服务都在运行

然后在eclipse中创建一个新的java项目。将ojbc6.jar作为外部jar添加到构建路径中

然后我运行以下类(右键单击->运行方式->java应用程序)来创建表:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;


public class MyOracleTest {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("oracle.jdbc.OracleDriver");
        String username = "sys as sysdba";
        String password = "password";
        Connection conn = null;
        Statement st = null;
        try{
            conn = DriverManager.getConnection("jdbc:oracle:thin:" + username + "/" + password + "@localhost:1521:xe");
            st = conn.createStatement();
            String command = "CREATE table x(y varchar(2))";
            st.executeUpdate(command);
        }finally{
        if(st != null){
            st.close();
        }
        if(conn != null){
            conn.close();
        }
        }
    }
然后,我使用sqlplus验证表的存在性:


要访问工作区中的对象,您必须编写SQL语句,用工作区名称(如“workspacename.objectname”)指定对象名称

例如

如果您已经创建了工作区,并将其命名为“XESPACE”,并在工作区内创建了一个表“STUDENT”,那么要从JDBC访问STUDENT表,请遵循下面的代码

步骤1:将JDBC驱动程序注册为Class.forName(“oracle.JDBC.Driver.OracleDriver”)

步骤2:打开与DriverManager.getConnection的连接(“jdbc:oracle:thin:@127。