当前位置:  技术问答>java相关

jdbc:为什么在DataSource中无法获得Connection????

    来源: 互联网  发布时间:2015-09-17

    本文导语:  我用j2ee -verbose启动j2ee服务,用下面代码取得数据联接, Context ctx = new InitialContext(); JdbcDataSource ds = (JdbcDataSource)ctx.lookup("jdbc/Cloudscape"); Connection conn = ds.getConnection(); JNDI没有错误,可以正确得到ds,但是却不能得...

我用j2ee -verbose启动j2ee服务,用下面代码取得数据联接,
Context ctx = new InitialContext();
JdbcDataSource ds = (JdbcDataSource)ctx.lookup("jdbc/Cloudscape");
Connection conn = ds.getConnection();
JNDI没有错误,可以正确得到ds,但是却不能得到conn,
就是说ds.getConnection();有错误。
异常是
No local string for datasource.wrongclient
这是怎么回事???????

|
package ejb;
    import java.util.*;
import java.io.*;
import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
public class DBConnection implements Serializable{
  protected Connection con=null;
  private  String  url  = "com.ibm.websphere.naming.WsnInitialContextFactory" ;
  private  String  user = "db2admin" ;
  private  String  pass = "db2admin" ;
  private  String  Dbs  = "jdbc/DataSource" ;
  public  DBConnection() { }
  DataSource ds = null;
  public void dbOpen() throws java.lang.Exception{
try
{
if (con == null || con.isClosed()) {
 // create parameter list to access naming system
  Hashtable env = new Hashtable();
  env.put(Context.INITIAL_CONTEXT_FACTORY, url);
// access naming system
  Context context = new InitialContext(env);
// get DataSource factory object from naming system
  ds = (DataSource)context.lookup(Dbs);
  con = ds.getConnection(user, pass);
   System.out.println("DB OPEN");
} else {
System.out.println("OPENED DB");
}
} catch (Exception e)//数据源不存在,用jdbcjdbc连接
{
                    System.out.println("数据源不存在");
                    Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
                    Properties p=new Properties();
                    p.put("user",user);
                    p.put("password",pass);
                    con=DriverManager.getConnection("jdbc:db2:db_sdbc",p);

  System.out.println("连接数据库异常:"+e.toString());
}

  }
 /*public void beginTrans() throws SQLException{
con.setAutoCommit(false);
  }
  public void commitTrans() throws SQLException{
con.commit();
  }
  public void rollbackTrans() throws SQLException{
con.rollback();
  }
  public boolean isTrans() throws SQLException{
return !con.getAutoCommit();
  }*/
  public void dbClose() {
try {
if (con != null && !con.isClosed()) {
con.rollback();
con.close();
System.out.println("DB CLOSE");
} else {
System.out.println("CLOSED DB");
}
}
catch (Exception e) {
System.out.println("关闭数据库异常:"+e.toString());
}
finally {
con = null;
}
}
}

|
少安毋躁,给你一段代码看看

m_ht=new Hashtable();
m_ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
m_ht.put(Context.PROVIDER_URL,t3://localhost:7001);
m_ctx=new InitialContext(m_ht);
m_ds=(DataSource)m_ctx.lookup(datasourceJNDIname);        
m_conn=m_ds.getConnection();

这是我写ejb时候连接数据源的代码,我的应用服务器是weblogic  
看对你有没有帮助

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sql server数据库有没有专门的jdbc驱动程序,若有,请教怎样获得?
  • 请问jdbc中,如何获得表名
  • 在SQL中有函数,比如COUNT(*),怎样通过JDBC调用获得函数值????
  • 如何用JDBC获得DB2里面表的信息,包括字段名,类型,长度等等,主键等等
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • 高性能JDBC驱动 DataDirect JDBC Drivers
  • mysql jdbc连接mysql数据库步骤及常见参数详解
  • 关于JDBC-ODBC和JDBC的区别
  • JDBC驱动代理 HA-JDBC
  • 访问MS SQL能不能直接用JDBC,如果能相应的JDBC Driver从哪里得到?
  • easy question:jdbc与jdk需要分别安装吗。如何设置jdbc的classpath
  • JDBC 工具包 Midao JDBC
  • 请问JDBC和JDBC-ODBC有什么区别?是不是连接的时候也有所不同。
  • JDBC 驱动程序 Drizzle-JDBC
  • JDBC执行日志 JDBC Logger
  • OLAP数据源的JDBC驱动 Jdbc4Olap
  • 讨论:纯java的JDBC与JDBC-ODBC桥的比较?那种效率高、快?(面向服务端)
  • jdbc1.2 jdbc2.0里面的类是干什么用的?
  • 请问连接本机数据库的JDBC,和连接远程的JDBC有没有区别?
  • jdbc连接数据库,能否有jdbc中的方法进行安全设置:
  • 百万火急:一个 jsp的jdbc的问题,用的是jdbc,odbc桥。
  • 问一个简单的问题,我装了oracle 8.05,我并没有发有发现JDBC这个目录,是不是我要下载jdbc for oracle。
  • jdbc 连接sybase11.9时出错,错误提示:JZ0D5: 装载协议 com.sybase.jdbc2.tds.tds 时出错
  • java开发数据库,一般是用JDBC-ODBC桥,还是JDBC驱动程序连接数据库呢?
  • 请问有没有mdb的jdbc驱动?我不想用jdbc-odbc了.


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3