首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

关于myeclipse JDBC连接oracle的有关问题 兼求推荐工具书

2012-02-26 
关于myeclipse JDBC连接oracle的问题 兼求推荐工具书大家好,我是个不折不扣的新手 现在在恶补开发知识工具

关于myeclipse JDBC连接oracle的问题 兼求推荐工具书
大家好,我是个不折不扣的新手 现在在恶补开发知识
工具使用的是 myeclipse 8.0 oracle 10g tomecat 6 jdk 1.6 这些
手头一本工具书讲的是web开发 对于数据库部分讲的比较少 而且说的是MySQL oracle只是顺带一提 
而且书中完全用的代码而没介绍 eclipse myeclipse的操作
我仿照书中代码慢慢练习 前面一些简单的还行 到了数据库连接这里折腾了两天也没结果

以下是一些疑问 请不吝赐教

1 关于Myeclipse Tomcat 和 Tomcat 是什么关系呢? 
是因为我在Myeclipse里配置了tomcat所以才有了MyeclipseTomcat,从而在workspace文件夹生成项目的相关文件,还是不依赖安装的Tomcat,软件自带了这些功能?

2 关于工具书或者教程 有没有讲用eclipse或者myeclipse如何开发的基础教程 尤其连接数据库这里讲的详细一点的 给个连接或者提示就可以

3 关于JDBC 按书上的例子不成功后,我在CSDN下载了一个演示Myeclipse连接Oracle数据库的项目 代码如下

JScript code
import java.sql.CallableStatement;import java.sql.Connection;import java.sql.DriverManager;public class TestPro1 {    /**     * @param args     * @带有输入输出参数的存储过程在java中调用!     */    public static void main(String[] args) {        try {            Class.forName("oracle.jdbc.driver.OracleDriver");            Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL","SCOTT","12345");            CallableStatement cs = con.prepareCall("{call dim_inout(?,?,?)}");            cs.setInt(1, 7788);            //给第二个?赋值            cs.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR);            cs.registerOutParameter(3, oracle.jdbc.OracleTypes.NUMBER);            cs.execute();                        String name = cs.getString(2);            double sal = cs.getDouble(3);            System.out.println("7788的用户名是:"+name+"工资是:"+sal);        } catch (Exception e) {            e.printStackTrace();        }                            }}
 

错误信息是


java.sql.SQLException: ORA-06550: 第 1 行, 第 7 列: 
PLS-00201: 必须声明标识符 'DIM_INOUT'
ORA-06550: 第 1 行, 第 7 列: 
PL/SQL: Statement ignored

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:212)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:951)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1160)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3390)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4223)
at TestPro1.main(TestPro1.java:20)


开始那部分我搜索了一下都说是权限问题 可这SCOTT应该是缺省用户啊 后来换成了SYSTEM 也是同样的错误 请教下应该怎么解决


以上问题各位如果觉得回答起来太繁琐 给出个可用的连接我慢慢看也可以 多谢指教

[解决办法]
import java.sql.*;

public class Test1 {
public static void main(String[] args) throws Exception {
try{
String driver = "oracle.jdbc.driver.OracleDriver";
String url="jdbc:oracle:thin:@localhost:1521:ldwwy";
String user = "scott";
String pass = "tiger";
Class.forName(driver);
Connection con = DriverManager.getConnection(url, user, pass);
System.out.println("连接成功");
catch(Exception e){
e.printStackTrace();
}
con.close();
}
}

热点排行