不是有jdbc可以访问吗?
干吗非要用jdbc-odbc桥呢?

解决方案 »

  1.   

    就是要用使得JBOSS可以访问数据源
    不是直接用JAVA程序去访问
      

  2.   

    如何在jboss中部署cmp(mysql)? 
    步骤:
    1.写mysql-service.xml文件设置数据源。(路径:将此文件放置在%JBOSS_HOME%/server/default/deploy)2.写standardjbosscmp-jdbc.xml文件设置数据源。(路径:此文件在%JBOSS_HOME%/server/default/conf目录下存在)给出例子:
    mysql-service.xml:
    <?xml version="1.0" encoding="UTF-8"?><!-- ===================================================================== -->
    <!-- -->
    <!-- JBoss Server Configuration -->
    <!-- -->
    <!-- ===================================================================== --><server><!-- ==================================================================== -->
    <!-- New ConnectionManager setup for mysql using 2.0.11 driver -->
    <!-- Build jmx-api (build/build.sh all) and view for config documentation -->
    <!-- ==================================================================== --><mbean code="org.jboss.resource.connectionmanager.LocalTxConnectionManager" name="jboss.jca:service=LocalTxCM,name=MySqlDS">
    <!-- Include a login module configuration named MySqlDbRealm. 
    Update your login-conf.xml, here is an example for a 
    ConfiguredIdentityLoginModule:<application-policy name = "MySqlDbRealm">
    <authentication>
    <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required">
    <module-option name = "principal">yourprincipal</module-option>
    <module-option name = "userName">yourusername</module-option>
    <module-option name = "password">yourpassword</module-option>
    <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=MySqlDS</module-option>
    </login-module>
    </authentication>
    </application-policy>NOTE: the application-policy name attribute must match SecurityDomainJndiName, and the 
    module-option name = "managedConnectionFactoryName"
    must match the object name of the ConnectionManager you are configuring here.
    -->
    <!--uncomment out this line if you are using the MySqlDbRealm above
    <attribute name="SecurityDomainJndiName">MySqlDbRealm</attribute>
    --><depends optional-attribute-name="ManagedConnectionFactoryName">
    <!--embedded mbean-->
    <mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=LocalTxDS,name=MySqlDS"><attribute name="JndiName">Site</attribute>
    <attribute name="ManagedConnectionFactoryProperties">
    <properties>
    <config-property name="ConnectionURL" type="java.lang.String">jdbc:mysql://192.168.0.250:3306/lance</config-property>
    <config-property name="DriverClass" type="java.lang.String">org.gjt.mm.mysql.Driver</config-property>
    <!--set these only if you want only default logins, not through JAAS -->
    <config-property name="UserName" type="java.lang.String">lim</config-property>
    <config-property name="Password" type="java.lang.String">lim</config-property>
    </properties></attribute><!--Below here are advanced properties -->
    <!--hack-->
    <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=JBoss LocalTransaction JDBC Wrapper</depends></mbean>
    </depends><depends optional-attribute-name="ManagedConnectionPool">
    <!--embedded mbean-->
    <mbean code="org.jboss.resource.connectionmanager.JBossManagedConnectionPool" name="jboss.jca:service=LocalTxPool,name=MySqlDS"><attribute name="MinSize">0</attribute>
    <attribute name="MaxSize">50</attribute>
    <attribute name="BlockingTimeoutMillis">5000</attribute>
    <attribute name="IdleTimeoutMinutes">15</attribute>
    <!--criteria indicates if Subject (from security domain) or app supplied
    parameters (such as from getConnection(user, pw)) are used to distinguish
    connections in the pool. Choices are 
    ByContainerAndApplication (use both), 
    ByContainer (use Subject),
    ByApplication (use app supplied params only),
    ByNothing (all connections are equivalent, usually if adapter supports
    reauthentication)-->
    <attribute name="Criteria">ByContainer</attribute>
    </mbean></depends>
    <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager</depends><depends optional-attribute-name="JaasSecurityManagerService">jboss.security:service=JaasSecurityManager</depends><attribute name="TransactionManager">java:/TransactionManager</attribute>
    <!--make the rar deploy! hack till better deployment-->
    <depends>jboss.jca:service=RARDeployer</depends></mbean>
    </server>==============================standardjbosscmp-jdbc.xml:只需改头上的一部分,自己找找:
    样本standardjbosscmp-jdbc.xml  (下面是原文件的代码片断) 
    <jbosscmp-jdbc><defaults>
    <datasource>java:/Site</datasource>
    <datasource-mapping>mySQL</datasource-mapping><create-table>false</create-table>
    <remove-table>false</remove-table>
    <read-only>false</read-only>
    <time-out>300</time-out>
    <pk-constraint>true</pk-constraint>
    <fk-constraint>false</fk-constraint>
    <row-locking>false</row-locking>
    <preferred-relation-mapping>foreign-key</preferred-relation-mapping>
    <read-ahead>
    <strategy>on-load</strategy>
    <page-size>1000</page-size>
    <eager-load-group>*</eager-load-group>
    </read-ahead>
    <list-cache-max>1000</list-cache-max>
    </defaults>