日期:2014-05-20  浏览次数:20840 次

新手--关于myeclipse连接数据库的问题 另求推荐工具书/教程
大家好,我是个不折不扣的新手 现在在恶补开发知识
工具使用的是 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 codeimport 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 也是同样的错误 请教下应该怎么解决


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

------解决方案--------------------
[code=Java]
java各种数据库连接
Java code

MySQL:
String Driver="com.mysql.jdbc.Driver"; //驱动程序
String URL="jdbc:mysql://localhost:3306/db_name"; //连接的URL,db_name为数据库名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver).new Instance();
Connection con=DriverManager.getConnection(URL,Username,Password);
Microsoft SQL Server 2.0驱动(3个jar的那个):
String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //连接SQL数据库的方法
String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库名