字面上的意思好像是在manual传送模式下不能开始一个克隆的连接。
解决方案 »
- 关于Servlet中Myeclipse的问题 新手求助
- 急求
- hibernate更新问题,第一次发帖求助CSDN的各位高手
- 使用Xfire开发Web service-----csdn中就没有会的!!!!!!!!!!!!!!!!
- 建了个J2EE群,想把学习J2EE、从事J2EE开发的兄弟们聚在一起,大家在工作、学习过程中遇到的问题。。。
- 一初级问题:MVC和Struts?
- 求助!
- 我是EJB的初学者,请大家知道一下吧!
- 我是新手,请各位大虾推荐几本JSP和SERVLET的书或文章吧!
- hibernate保存数据到数据库插不进去
- EJB客户端端运行有错的问题,Ljglory(blue_poet),请看看吧,
- 请教有谁 用JAVA开发过类似OUTLOOK的界面 ??
我本身并没有进行事物操作哦。只是想简单的得到一个记录而已。
这里的代码全部是JB自动产生的,只是将其EJB改为了Remote接口(才可以用
EJB Test Client)的。
为什么别人的自动产生的代码都可以很好的运行呢?
在main中先client.create(),再client.findByPrimaryKey()。
有的, 是先create()的,
抱错:
-- Calling create(A01) java.rmi.RemoteException: EJB Exception:; nested exception is:
java.sql.SQLException: [Microsoft][SQLServer JDBC Driver]Can't start a cloned connection while in manual transaction mode.java.sql.SQLException: [Microsoft][SQLServer JDBC Driver]Can't start a cloned connection while in manual transaction mode. <<no stack trace available>>
-- Failed: create(A01)为什么这样?
我加上去了,问题依旧哦。还是报上面同样的错。
急啊,好几天啦
请问,JB中加在哪里啊??编辑DataSources属性这里,只有
Driver,URL,username ,password的 项目啊???
受不了啊。按你说的加了,可是还是同样的错啊。
在连接池里的Properties,是这样写的么:
user=sa
password=pwd
SelectMethod=cursorJB的import 数据源里也加了,还是抱错啊。 请再说说,你以前遇到的是抱的是我同样的错么???
SelectMethod=cursor
或者
selectMethod=cursor如果直接写url,就是如下:
"jdbc:microsoft:sqlserver://dbmachine:1433;SelectMethod=cursor"
DatabaseName=YourDBName对啊,我以前出的错和你说的一模一样!你的错误应该是在运行ejb test client时报的错吧!
奇怪了,我这里现在可以显示得到的数据了,但是在Client.create("A01");
时,还是报错了:
-- Failed: create(A01)
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
at $Proxy1.create(Unknown Source)
at autosql.MybookTestClient.create(MybookTestClient.java:79)
at autosql.MybookTestClient.main(MybookTestClient.java:322)
-- Return value from create(A01): null.
你也是这样的么??
配置 SQL Server 连接池
将 SQL SERVER 2000 的 JDBC 驱动程序拷贝到某目录下
设置 CLASSPATH
进入 WEBLOGIC 管理控制台
修改 WEBLOGIC 域的启动脚本
在 CLASSPATH = …… 一节中加入 SQL SERVER 的 JDBC 驱动程序
在Weblogic控制台中依次展开Services\JDBC\Connection Pools配置 SQL Server 连接池(续)
单击 Configure a new JDBC Connection Pool...
填入每一项参数,结果如下:
NAME = MSSqlPool
URL= microsoft:sqlserver://localhost:1433;DatabaseName=mybase
Driver Class Name = com.microsoft.jdbc.sqlserver.SQLServerDriver
配置 SQL Server 连接池(续)
Connections 签下的 初始容量、最大容量、容量增长等可根据自已需要配置
选 Targets 签,选 Servers 签,选 Available (可用)中的 myserver ,然后点 ,再点 Apply 应用一下。这样我们所做的工作才会真正有效, Weblogic 也才会认识我们配置的 JDBC Connection Pool
配置后:
配置 SQL Server 连接池(续)
在Weblogic控制台中依次展开Services \ JDBC \ Tx Data Sources
Configure a new JDBC Tx Data Source...
同样,选 Targets 签,选 Servers 签,选 Available (可用)中的 myserver指定 JDBC 驱动程序
同 weblogic 一样,在进行此项配置之前,先将欲使用的 数据库JDBC 驱动 Jar 文件放到 D:\JBuilder7\lib目录下(建议这样做)
启动JBuilder 7,单击 Tools \ EnterPrise Setup .......
在弹出窗口中选择 Database Drivers 签
再点 Add 按钮,弹出新窗口
再单击 New ... 按钮,弹出新窗口,填入内容
OK… OK… OK…. 退出设置窗体
指定应用服务器
确认已安装了 WEBLOGIC 或其它应用服务器
以 WebLogic 6.X 为例
启动 Jbuilder 7,单击 Tools-Configure Servers
选择Weblogic Application Server 6.x+后,选择Enable server,使标签的选项为可编辑的
Home directory : C:/bea/weblogic700/server
Main class: weblogic.Server
Working directory:C:/bea/user_projects/mydomain
指定应用服务器(续)
转到Custom标签
JDK installation directory: C:/bea/jdk131
BEA home directory: C:/bea
Domain diredtory : C:/bea/user_projects/mydomain
User name 和 Password :是weblogic的用户名和密码
指定应用服务器(续)
单击 Tools-Enterprise Setup
CORBA标签 ,在Configuration中,选择new
Name for this configuaration: 随便写一个名字
Path for ORB tools: C:/bea/weblogic700/server/bin
Library for projects: WebLogic 6.x+ Deploy
IDL compiler command: idlj.exe
Command option for output directory: 指定一个已存在的文件夹
为工程(项目)指定服务器
我客户端简单的代码:
String id="A02";
client.create(id);
client.findByPrimaryKey(id);
System.out.println(client.getBookId());
System.out.println(client.getBookName());
现在是可以把相关ID的值print出来,但有错误在create()
-- Calling create(A02)
javax.ejb.DuplicateKeyException: Bean with primary key: 'A02' already exists.
at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:85)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:253)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:220)
-- Failed: create(A02)
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
at $Proxy1.create(Unknown Source)
at autosql.MybookTestClient.create(MybookTestClient.java:79)
at autosql.MybookTestClient.main(MybookTestClient.java:322)
-- Return value from create(A02): null.还有啊,如果我客户端想插入数据:
String id="A03";
client.create(id);
client.setBookName("DelphiTo");
client.setBookPublish("Myself");
也抱错说:不允许将NULL值插入相应字段 ,,
这又是什么原因呢?
还望帮忙。谢谢。