Oracle11gExpress Java JDBC;数据库工作区
我在进入驻留数据库的Oracle 11g Express工作区时遇到一些困难 我能够通过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
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。