JBoss5.0.0GA中的mssql-ds.xml的问题

下面是SqlServer2005和2000的JDBC文档中提供的有关信息:
Sql Server 2005

类库:sqljdbc.jar

连接:
Class.forName(" com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection(" jdbc:sqlserver://localhost;user=MyUserName;password=*****");


连接到本地计算机上的默认数据库:
jdbc:sqlserver://localhost;user=MyUserName;password=*****
连接到远程服务器上的指定数据库:
jdbc:sqlserver://localhost;databaseName=AdventureWorks;user=MyUserName;password=*****
连接到远程服务器上的非默认端口 4000:
jdbc:sqlserver://localhost:4000;databaseName=AdventureWorks;user=MyUserName;password=*****
通过指定自定义应用程序名称进行连接:
jdbc:sqlserver://localhost;databaseName=AdventureWorks;user=MyUserName;password=*****;applicationName=MyApp

Sql Server 2000

类库:
install_dir/lib/msbase.jar
install_dir/lib/msutil.jar
install_dir/lib/mssqlserver.jar

连接:
Class.forName(" com.microsoft.jdbc.sqlserver.SQLServerDriver");

jdbc:microsoft:sqlserver://server_name:1433
jdbc:microsoft:sqlserver://server1:1433;user=test;password=secret

jdbc:microsoft:sqlserver://server1:1433;user=sa;password=secret;DatabaseName=pubs;


请注意类名和连接字符串的区别。

再看看JBoss5提供的jboss-5.0.0.GA\docs\examples\jca\mssql-ds.xml:

<datasources>
  <local-tx-datasource>
    <jndi-name>MSSQLDS</jndi-name>
    <connection-url> jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyDatabase</connection-url>
    <driver-class> com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
    <user-name>x</user-name>
    <password>y</password>
        <!-- sql to call when connection is created
        <new-connection-sql>some arbitrary sql</new-connection-sql>
        -->

        <!-- sql to call on an existing pooled connection when it is obtained from pool
        <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
        -->

      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
      <metadata>
         <type-mapping>MS SQLSERVER2000</type-mapping>
      </metadata>
  </local-tx-datasource>

</datasources>

其中的类名和连接串刚好是交叉使用的,所以问题会很严重。有用到的朋友请参照上述的修改。


我修改后的是这样子:

<datasources>
  <local-tx-datasource>
    <jndi-name>MSSQLDS</jndi-name>
    <connection-url>jdbc:sqlserver://localhost:1433;databaseName=test</connection-url>
    <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
   
    <user-name>sa</user-name>
    <password>sa</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>0</idle-timeout-minutes>
<track-statements/>
<security-domain>MSSQLDbRealm</security-domain>
      <metadata>
         <type-mapping>MS SQLSERVER2000</type-mapping>
      </metadata>
  </local-tx-datasource>

</datasources>

另外要注意的是拷贝相应的类库到 server\default\lib 目录下。

你可能感兴趣的:(sql,xml,jdbc,SQL Server,Microsoft)