字面上的意思好像是在manual传送模式下不能开始一个克隆的连接。

解决方案 »

  1.   

    To hotenM(CMP):
       我本身并没有进行事物操作哦。只是想简单的得到一个记录而已。
      这里的代码全部是JB自动产生的,只是将其EJB改为了Remote接口(才可以用
    EJB Test Client)的。
       为什么别人的自动产生的代码都可以很好的运行呢?
      

  2.   

    数据库中确实有“A01”这条记录么?
    在main中先client.create(),再client.findByPrimaryKey()。
      

  3.   

    To tusm() 
      有的, 是先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)为什么这样?
      

  4.   

    我也碰到过,在配连接池的时候,在属性一栏加上:SelectMethod=cursor
      

  5.   

    To Ljglory(blue_poet) 
      我加上去了,问题依旧哦。还是报上面同样的错。
      急啊,好几天啦
      

  6.   

    连接池中要加,jbuilder中import数据源时也要加啊!我试过的,一定可以!
      

  7.   

    To Ljglory(blue_poet) 
      请问,JB中加在哪里啊??编辑DataSources属性这里,只有
    Driver,URL,username ,password的 项目啊???
      

  8.   

    Extended Properties点击右边的...,可以看到一个空的Table,选择Add Row,剩下的没问题了吧!
      

  9.   

    To Ljglory(blue_poet) 
       受不了啊。按你说的加了,可是还是同样的错啊。
    在连接池里的Properties,是这样写的么:
    user=sa
    password=pwd
    SelectMethod=cursorJB的import 数据源里也加了,还是抱错啊。  请再说说,你以前遇到的是抱的是我同样的错么???
      

  10.   

    配置?
    SelectMethod=cursor
    或者
    selectMethod=cursor如果直接写url,就是如下:
    "jdbc:microsoft:sqlserver://dbmachine:1433;SelectMethod=cursor"
      

  11.   

    再加一项试试:
    DatabaseName=YourDBName对啊,我以前出的错和你说的一模一样!你的错误应该是在运行ejb test client时报的错吧!
      

  12.   

    请问,这里的selectMethod=cursor有什么意义么???不设置又是什么意思呢?
      

  13.   

    参阅一下ms sql jdbc driver的文档吧!我是在java.sun.com的论坛上发现的。
      

  14.   

    To Ljglory(blue_poet) 
      奇怪了,我这里现在可以显示得到的数据了,但是在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.
    你也是这样的么??
      

  15.   

    说详细一点,create一般不会出问题啊!
      

  16.   

    关于配置:
    配置 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&nbsp;
    指定应用服务器(续)
    转到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
    &nbsp;Name for this configuaration: 随便写一个名字
    &nbsp;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: 指定一个已存在的文件夹
    为工程(项目)指定服务器
      

  17.   

    To  tusm():你说的这个我知道哦。To  Ljglory(blue_poet):
    我客户端简单的代码:
    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值插入相应字段 ,,
    这又是什么原因呢?
    还望帮忙。谢谢。