>启动weblogic8.1,创建一个新连接池,选择MS Sql Server Type4 XA driver
>(com.microsoft.jdbcx.sqlserver.SQLServerDataSource),点击,结果说是
>no suitable driver,配置如下: 写错了>启动weblogic8.1,创建一个新连接池,选择MS Sql Server Type4 XA driver
>(com.microsoft.jdbcx.sqlserver.SQLServerDataSource),
>点击Test Driver Configuration,结果说是
>no suitable driver,配置如下: 

解决方案 »

  1.   

    不用那么麻烦吧,
       Weblogic本身带的JDBC for MS SQL Server也可以用啊,
       而且不用其他的配置
      

  2.   

    那个不可以XA的,我需要在跨Oracle和SQLServer两个数据库上实现transaction control.
      

  3.   

    这是个简单的class not found错误,改weblogic启动的脚本,turn echo on,在最后几行:
    set CLASSPATH=....
    后,将classpath 打出来看看
    echo %classpath%
      

  4.   

    这个我当然试过的啦。不是classpath这类问题的啦。
    (如果class not found,weblogic会提示no driver found in class path, 而不是no suitable driver.那几个非XA的driver都没问题,只有XA的有问题)
      

  5.   

    你不用datasource pool,直接写个servlet,Class.forName, DriverManager.getConnection
    看能不能正确得到?
    估计是不是版本有问题
      

  6.   

    不行,看来你不太了解JTA或者是我没说明清楚.
    直接从DriverManager取得connection,这样的connection不受容器控制,也不受JTS resource manager控制,无法在CMT bean里自动rollback和commit. 所以要用tx的datasource, 如果是分布式transaction control, 就必须是XA的driver.
    我现在需要在不同的数据库不同的server上实现分布式transaction control.所以需要XA的driver. Oracle的XA type4 driver非常棒,非常好用,性能也非常好,但是SQL server就非常的烦人,nnd,我看SQL Server2000离企业级应用还有一段距离,和Oracle没得比。
      

  7.   

    我说写servlet是说看这个jdbc驱动和你的sqlserver是不是可以连上,它不是说"no suitable driver"吗?
    我现在的项目是用Sun One App server7,我也是刚下载的那个sqlserver的jdbc,在console中配置后正确,产生的web.xml部分是这样:
    <jdbc-connection-pool steady-pool-size="4" max-pool-size="8" max-wait-time-in-millis="60000" pool-resize-quantity="2" idle-timeout-in-seconds="300" is-isolation-level-guaranteed="true" is-connection-validation-required="true" connection-validation-method="meta-data" fail-all-connections="false" datasource-classname="com.microsoft.jdbcx.sqlserver.SQLServerDataSource" name="jdbc/MySqlServerDriver" res-type="javax.sql.XADataSource" transaction-isolation-level="read-committed">
          <!--      <property value="jdbc:microsoft:sqlserver://server:1433;user=sa;password=;databaseName=Northwind" name="ConnectionURL" /> -->
          <property value="192.168.100.222" name="serverName"/>
          <property value="1433" name="portNumber"/>
          <property value="sa" name="user"/>
          <property value="" name="password"/>
          <property value="cursor" name="selectMethod"/>
          <property value="Northwind" name="databaseName"/>
        </jdbc-connection-pool>在使用时会有access database error ->[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]未能找到存储过程 'master..xp_jdbc_openJTA确实不知道,呵呵
      

  8.   

    你用weblogic试一试,我没有用过Sun One App server7,对Sql Server 了解也不多
      

  9.   

    我想既然ms说了他支持XA,问题就应该是weblogic的配置问题了
      

  10.   

    没有weblogic,还是说sun app server
    我用连接池的结果是access database error ->[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]未能找到存储过程 'master..xp_jdbc_open'
    做了个CMP的Bean,同样的错误
      

  11.   

    ft了,原来我没有在服务器上导入sqljdbc.dll和instjdbc.sql
    ^_^,现在搞定呐
      

  12.   

    我有在服务器上导入sqljdbc.dll和instjdbc.sql呀
      

  13.   

    建议这样设properties
     <property value="192.168.100.222" name="serverName"/>
          <property value="1433" name="portNumber"/>
          <property value="sa" name="user"/>
          <property value="" name="password"/>
          <property value="cursor" name="selectMethod"/>
          <property value="Northwind" name="databaseName"/>
    好像那个驱动里面没有url这个属性
    呵呵,瞎说的啦
      

  14.   

    dataSourceName里面也没有他提到这个属性
      

  15.   

    我什么也没变,今天又试了一次,test竟然通过了。
    但是点击create and deploy后马上显示Distributed Management[1 exceptions] Error connection pool SqlServerPool:0:[Microsoft][SQLServer 2000 Driver for JDBC][SQLServr]Failed to initialize DTC. Check if DTC service is running.
    今天太累了,明天再试一下吧,看来这个配置应该是没错的,
    weblogic和SQLServer XA兼容性可能不如Oracle XA来的好
      

  16.   

    遇到和我同样问题的兄弟可以去看看http://forum.java.sun.com/thread.jsp?forum=35&thread=335083&tstart=0&trange=15http://edocs.bea.com/wls/docs81/jdbc_drivers/mssqlserver.htmlhttp://edocs.bea.com/wls/docs81/jdbc_drivers/mssqlserver.html#1056938