dataSource = (DataSource) ctx.lookup("java:comp/env/DataSource");dataSource是你的数据源变量,
(DataSource)的意思是向下转型,因为ctx.lookup返回的是Object类型.
ctx是从weblogic服务器返回的Context对象,
"java:comp/env/DataSource"是DataSource的路径.BMP我还真不懂...一般实际开发中不会用到BMP的,自己有兴趣研究倒不错.
(DataSource)的意思是向下转型,因为ctx.lookup返回的是Object类型.
ctx是从weblogic服务器返回的Context对象,
"java:comp/env/DataSource"是DataSource的路径.BMP我还真不懂...一般实际开发中不会用到BMP的,自己有兴趣研究倒不错.
那lookup的后面应该是"jndn"名字呀!
而且dataSource = (DataSource) ctx.lookup("java:comp/env/DataSource");
因改写成dataSource ds= (DataSource) ctx.lookup("jndn name");呀
至于dataSource是你的数据源变量,
(DataSource)的意思是向下转型,因为ctx.lookup返回的是Object类型.
ctx是从weblogic服务器返回的Context对象,
"java:comp/env/DataSource"是DataSource的路径.
我自己也对BMP也不了解.很抱歉!
---------JMS 连接工厂在 java:comp/env/jms 子上下文中声明
---------JavaMail 连接工厂在 java:comp/env/mail 子上下文中声明
---------URL 连接工厂在 java:comp/env/url 子上下文中声明
我大致浏览宠物店的例子,我想问实际开发中前端表现界面一般是JSP页面吗,有没有全用JAVA UI设计的,也就是swing开发的,就类似宠物店administ...那个界面一样.
我的建议:
1,引入import 时,先将javax.naming.*引入..这样在NEW时就好一些...
再定义一私有成员变量,,就以上,
可以这样定义:private EntityContext context; 上下文环境
private Connection con;连接
private String dbName="java:comp/env/jdbc/DataSource";
这样子,在写代码,好像有点意思,也有点感觉..(纯属个人感觉,不知大侠们有没有). 2. public void setEntityContext(EntityContext entityContext) {
this.entityContext=context;//(.......!!!!!!!!!!!!!)
try
{
makeConnection();
}
catch(Exception ex)
{
throw new EJBException("*********************"+ex.getMessage());
}
} //建议将数据库连接部分独立起来,好调用,程序也好看懂,当然还好重用...
private void makeConnection() throws NamingException,SQLException
{
InitialContext ic=new InitialContext();//构造
DataSource ds=(DataSource)ic.lookup(dbName);
con.ds.getConnection();
}
主要是看楼主要结贴了,,所以我也想分点分....yousnow(流浪的刺猬) ,wingtrace(暮寒.烟灰.风化物) 两老兄都讲的差不多了..俺就不多说了... 注意,你的那程序DataSource 那里有错呀......
画蛇添足之作,只想要点分....................呵呵 ....
private void makeConnection() throws NamingException,SQLException
{
InitialContext ic=new InitialContext();//构造
DataSource ds=(DataSource)ic.lookup(dbName);
con=ds.getConnection();
}
把个=写个.去了...不好意思...刚看刚发现...呵呵.
java.rmi.RemoteException: Error during setXXXContext: ; nested exception is:
javax.ejb.EJBException: Error Lookupjavax.naming.NameNotFoundException: Unable to resolve 'app/ejb/Test2.jar#Employees1/comp/env/jdbc/SQLServer' Resolved: 'app/ejb/Test2.jar#Employees1/comp/env' Unresolved:'jdbc' ; remaining name 'jdbc/SQLServer'
我是这么写的
public void setEntityContext(EntityContext entityContext) {
this.entityContext = entityContext;
try {
javax.naming.Context ctx = new javax.naming.InitialContext();
dataSource = (DataSource) ctx.lookup ("java:comp/env/jdbc/SQLServer"); }
//("java:comp/env/jdbc/datasources/SQLServer");也试过
//dataSource是变量
catch (Exception e) {
throw new EJBException("Error Lookup" + e.toString());
} } SQLServer是我在WebLogic7设的JNDI JNDI及import schema from database时的JNDI NAME
我在学CMP的时候是通过的。当然CMP不用写上面的代码。以下是jndi-definitions.xml的内容<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jndi-definitions PUBLIC "-//Borland Corporation//DTD JndiDefinitions//EN" "http://www.borland.com/devsupport/appserver/dtds/jndi-definitions.dtd">
<jndi-definitions>
<visitransact-datasource>
<jndi-name>serial://datasources/SQLServer</jndi-name>
<driver-datasource-jndiname>serial://datasources/driverSQLServer</driver-datasource-jndiname>
<property>
<prop-name>connectionType</prop-name>
<prop-type>Enumerated</prop-type>
<prop-value>Direct</prop-value>
</property>
<property>
<prop-name>dialect</prop-name>
<prop-type>Enumerated</prop-type>
<prop-value>mssqlserver</prop-value>
</property>
</visitransact-datasource>
<driver-datasource>
<jndi-name>serial://datasources/driverSQLServer</jndi-name>
<datasource-class-name>com.inprise.visitransact.jdbc1w2.InpriseConnectionPoolDataSource</datasource-class-name>
<property>
<prop-name>user</prop-name>
<prop-type>String</prop-type>
<prop-value>sa</prop-value>
</property>
<property>
<prop-name>password</prop-name>
<prop-type>String</prop-type>
<prop-value>1</prop-value>
</property>
<property>
<prop-name>url</prop-name>
<prop-type>String</prop-type>
<prop-value>jdbc:weblogic:mssqlserver4:northwind@tornado:1433</prop-value>
</property>
<property>
<prop-name>driverClassName</prop-name>
<prop-type>String</prop-type>
<prop-value>weblogic.jdbc.mssqlserver4.Driver</prop-value>
</property>
</driver-datasource>
</jndi-definitions>
各位再帮看看如何搞