这个是应该使用BasicDataSourceFactory啊,应该使用相应的J2EE Server的类啊
WebSphere:com.ibm.ejs.ns.jndi.CNInitialContextFactory
JBoss:org.jnp.interfaces.NamingContextFactory
WebLogic:weblogic.jndi.WLInitialContextFactory
WebSphere:com.ibm.ejs.ns.jndi.CNInitialContextFactory
JBoss:org.jnp.interfaces.NamingContextFactory
WebLogic:weblogic.jndi.WLInitialContextFactory
解决方案 »
- jsp 为什么不能分类翻页
- jsp中 showmodaldialog 分页 问题
- servlet怎么传送ArrayList对象中的数据到jsp?
- myEclipse启动目标,举手之劳
- jsp中怎么把数字转换成字符串啊?大家大姐们请帮小弟一把吧!!!谢谢啊!!!
- tomcat的问题,急求各位高手
- 我尝试写的一个上传文件的程序老是报myupload.upload();行有错,请帮忙看看,谢谢!
- 硕大的CSDN,没人给回答这个问题?答对了500分送!!!!!!(不送猪不如)
- 如何从一个JSP文件传登录名到另外一个JSP文件呢?
- 谁有数据库分页的Bean,送100分!
- 真的很难找不到原因了。跪求 在线等
- 有没有将特殊字符转义的工具包?
但就是死活不行,报类转换异常,BasicDataSourceFactory是现实ObjectFactory接口
看起来报异常也是正常现象啊,这个问题弄了好久,就是没办法找到正确的Factory类 :(
每个服务器有它固定的参数写法,各不相同。
各位可否随便写个bean试试呢?
ctx.addToEnvironment(javax.naming.Context.INITIAL_CONTEXT_FACTORY,contextFactory);
ctx.bind("HibernateSessionFactory", env);看看行不
哪位有用过JNDI实现连接成功SQLServer数据库的,可否给出测试通过的实例?
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%> <html>
<body>
<%
DataSource ds = null;
Connection conn = null;
ResultSet rs = null;
Statement stmt = null;
InitialContext ctx = null;
String m_strDriver = "net.sourceforge.jtds.jdbc.Driver", // 驱动字符串
m_strConURL = "jdbc:jtds:sqlserver"; // 连接字符串
try
{
ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/connectDB"); //注意connectDB的名称和上面一致
conn = ds.getConnection();
stmt = conn.createStatement(); String strSql = " select * from test"; //test为数据库中的一个表
rs = stmt.executeQuery(strSql);
while(rs.next())
{
out.println(rs.getString(1) + "");
out.println(rs.getString(2) + "");
}
}
catch(Exception ex)
{
out.println(ex.getMessage());
}
finally
{
rs.close();
stmt.close();
conn.close();
ctx.close();
}
%>
</body>
</html>
<web-app> <display-name>tiannet web</display-name>
<description>connectDB test</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/connectDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list> </web-app> 注意<res-ref-name>jdbc/connectDB</res-ref-name>
中的connectDB
和上面程序
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/connectDB");
中的connectDB一致
来建立Context上下文,并使用连接池连接数据库,不知哪位实现过(SQLServer的)?