关于jboss对数据库操作的疑问 呵呵!首先你到docs\examples\jca下拷贝相应的数据库配置文件到你的deploy目录。然后修改里面的datasource名为你的EJB的datasource名,里面的数据库连接和驱动作相应修改,即可!如有问题,qq,26251433 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.csdn.net/develop/list_article.asp?bigclassid=6 以下是jboss3.2+tomcat4.1.24版本跟MySql的数据库配置步骤:1.到jboss目录C:\jboss-3.2.0_tomcat-4.1.24\docs\examples\jca,将mysql-ds.xml拷贝到jboss的部署源目录C:\jboss-3.2.0_tomcat-4.1.24\server\default\deploy下面.(注:如果是其他版本的jboss,这个xml文件有可能命名不一样,而且里头的内容也不一样,如jboss-3.0.6_tomcat-4.1.18版本是mysql-service.xml,但是所在目录和部署目录是一致的.)2.打开mysql-ds.xml(或者mysql-service.xml)文件,做如下修改:jboss-3.2.0:===========================================================================<datasources> <local-tx-datasource> <jndi-name>MySqlDS</jndi-name>//jndi名,在程序里引用,或者在bean部署的时候进行引用 <connection-url>jdbc:mysql://localhost:3306/AIR</connection-url>//mysql的默认监听端口是3306,AIR是数据库的名称,这里你换成你要连接的数据库的名称. <driver-class>org.gjt.mm.mysql.Driver</driver-class>//驱动程序 <user-name></user-name> <password></password>//填上数据库连接的用户名和密码 </local-tx-datasource></datasources>===========================================================================jboss3.0<mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=LocalTxDS,name=MySqlDS"> <attribute name="JndiName">MySqlDS</attribute> <attribute name="ManagedConnectionFactoryProperties"> <properties> <config-property name="ConnectionURL" type="java.lang.String">jdbc:mysql://localhost:3306/AIR</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"></config-property> <config-property name="Password" type="java.lang.String"></config-property> </properties> </attribute>...3.将jdbc驱动copy到C:\jboss-3.0.6_tomcat-4.1.18\server\default\lib目录下,mysql没有的驱动jar文件是mm.mysql-2.0.14-bin.jar.4.运行jboss,测试.最后要提一点是无论连接什么数据库,步骤和过程是一样的,可能在配置上面有些细微的差别,因为数据提供商各有自己的实现方式. 以下是jboss3.2+tomcat4.1.24版本跟MySql的数据库配置步骤:1.到jboss目录C:\jboss-3.2.0_tomcat-4.1.24\docs\examples\jca,将mysql-ds.xml拷贝到jboss的部署源目录C:\jboss-3.2.0_tomcat-4.1.24\server\default\deploy下面.(注:如果是其他版本的jboss,这个xml文件有可能命名不一样,而且里头的内容也不一样,如jboss-3.0.6_tomcat-4.1.18版本是mysql-service.xml,但是所在目录和部署目录是一致的.)2.打开mysql-ds.xml(或者mysql-service.xml)文件,做如下修改:jboss-3.2.0:===========================================================================<datasources> <local-tx-datasource> <jndi-name>MySqlDS</jndi-name>//jndi名,在程序里引用,或者在bean部署的时候进行引用 <connection-url>jdbc:mysql://localhost:3306/AIR</connection-url>//mysql的默认监听端口是3306,AIR是数据库的名称,这里你换成你要连接的数据库的名称. <driver-class>org.gjt.mm.mysql.Driver</driver-class>//驱动程序 <user-name></user-name> <password></password>//填上数据库连接的用户名和密码 </local-tx-datasource></datasources>===========================================================================jboss3.0<mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=LocalTxDS,name=MySqlDS"> <attribute name="JndiName">MySqlDS</attribute> <attribute name="ManagedConnectionFactoryProperties"> <properties> <config-property name="ConnectionURL" type="java.lang.String">jdbc:mysql://localhost:3306/AIR</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"></config-property> <config-property name="Password" type="java.lang.String"></config-property> </properties> </attribute>...3.将jdbc驱动copy到C:\jboss-3.0.6_tomcat-4.1.18\server\default\lib目录下,mysql没有的驱动jar文件是mm.mysql-2.0.14-bin.jar.4.运行jboss,测试.最后要提一点是无论连接什么数据库,步骤和过程是一样的,可能在配置上面有些细微的差别,因为数据提供商各有自己的实现方式. 以下是jboss3.2+tomcat4.1.24版本跟MySql的数据库配置步骤:1.到jboss目录C:\jboss-3.2.0_tomcat-4.1.24\docs\examples\jca,将mysql-ds.xml拷贝到jboss的部署源目录C:\jboss-3.2.0_tomcat-4.1.24\server\default\deploy下面.(注:如果是其他版本的jboss,这个xml文件有可能命名不一样,而且里头的内容也不一样,如jboss-3.0.6_tomcat-4.1.18版本是mysql-service.xml,但是所在目录和部署目录是一致的.)2.打开mysql-ds.xml(或者mysql-service.xml)文件,做如下修改:jboss-3.2.0:===========================================================================<datasources> <local-tx-datasource> <jndi-name>MySqlDS</jndi-name>//jndi名,在程序里引用,或者在bean部署的时候进行引用 <connection-url>jdbc:mysql://localhost:3306/AIR</connection-url>//mysql的默认监听端口是3306,AIR是数据库的名称,这里你换成你要连接的数据库的名称. <driver-class>org.gjt.mm.mysql.Driver</driver-class>//驱动程序 <user-name></user-name> <password></password>//填上数据库连接的用户名和密码 </local-tx-datasource></datasources>===========================================================================jboss3.0<mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=LocalTxDS,name=MySqlDS"> <attribute name="JndiName">MySqlDS</attribute> <attribute name="ManagedConnectionFactoryProperties"> <properties> <config-property name="ConnectionURL" type="java.lang.String">jdbc:mysql://localhost:3306/AIR</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"></config-property> <config-property name="Password" type="java.lang.String"></config-property> </properties> </attribute>...3.将jdbc驱动copy到C:\jboss-3.0.6_tomcat-4.1.18\server\default\lib目录下,mysql没有的驱动jar文件是mm.mysql-2.0.14-bin.jar.4.运行jboss,测试.最后要提一点是无论连接什么数据库,步骤和过程是一样的,可能在配置上面有些细微的差别,因为数据提供商各有自己的实现方式. 在jboss3。2里面是不是只要配置mysql-ds.xml 的就可以了我配置好了 jboss里面启动也显示了 19:52:03,933 INFO [MySqlDS] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:service=LocalTxCM,name=MySqlDS to JNDI name 'java:/MySqlDS'19:52:03,933 INFO [TxConnectionManager] Started19:52:03,943 INFO [MainDeployer] Deployed package: file:/C:/jboss3.2/server/default/deploy/mysql-ds.xml19:52:03,933 INFO [MySqlDS] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:service=LocalTxCM,name=MySqlDS to JNDI name 'java:/MySqlDS'19:52:03,933 INFO [TxConnectionManager] Started19:52:03,943 INFO [MainDeployer] Deployed package: file:/C:/jboss3.2/server/default/deploy/mysql-ds.xml可是前面我的一个jb自动生成的cmp 出现问题了 这是什么问题:Caused by: org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Could not map transaction isolation '00000l00 to a valid JDBC level.)是不是和我cmp里面的jbosscmp-jdbc.xml编码配置有关系 我是用UTF-8 里面配置<jbosscmp-jdbc> <defaults> <datasource>java:/MySqlDS</datasource> <datasource-mapping>mySQL</datasource-mapping> </defaults> <enterprise-beans> <entity> <ejb-name>Product</ejb-name> <datasource>java:/MySqlDS</datasource> <datasource-mapping>mySQL</datasource-mapping> <table-name>product</table-name> <cmp-field> <field-name>productID</field-name> <column-name>productID</column-name> </cmp-field> <cmp-field> <field-name>name</field-name> <column-name>name</column-name> </cmp-field> <cmp-field> <field-name>description</field-name> <column-name>description</column-name> </cmp-field> <cmp-field> <field-name>basePrice</field-name> <column-name>basePrice</column-name> </cmp-field> </entity> </enterprise-beans></jbosscmp-jdbc> 好了 问题解决了 感谢大家 呵呵虽然出现上述问题 但是还是成功的写数据库成功和 读取数据成功我想这可能是mysql编码在jb的jvm里解释的问题 但是对读取数据没有什么影响。。如果要用到jaas特性 和 connection pool 还是要用到mysql-service.xml作为模板平常的连接只要简单的定义 就想上面的mysql-ds.xml即可 多线程 求教大神关于j2ee插入mysql大量数据的问题 大牛们 看看自己的基础如何? 关于事务控制的问题 超链接双击会提交两次怎么解决? 如何设置Jfreechart折线图中线条的宽度 About jacob problem QueryRunner java读取tomcat上文件 请教一个jdbc问题,实在无法理解 sql server 7不行? 初学者提问:java函数中的变量形参怎么定义?
(注:如果是其他版本的jboss,这个xml文件有可能命名不一样,而且里头的内容也不一样,如jboss-3.0.6_tomcat-4.1.18版本是mysql-service.xml,但是所在目录和部署目录是一致的.)2.打开mysql-ds.xml(或者mysql-service.xml)文件,做如下修改:
jboss-3.2.0:
===========================================================================
<datasources>
<local-tx-datasource>
<jndi-name>MySqlDS</jndi-name>//jndi名,在程序里引用,或者在bean部署的时候进行引用
<connection-url>jdbc:mysql://localhost:3306/AIR</connection-url>//mysql的默认监听端口是3306,AIR是数据库的名称,这里你换成你要连接的数据库的名称.
<driver-class>org.gjt.mm.mysql.Driver</driver-class>//驱动程序
<user-name></user-name>
<password></password>//填上数据库连接的用户名和密码
</local-tx-datasource></datasources>===========================================================================
jboss3.0
<mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=LocalTxDS,name=MySqlDS"> <attribute name="JndiName">MySqlDS</attribute> <attribute name="ManagedConnectionFactoryProperties">
<properties>
<config-property name="ConnectionURL" type="java.lang.String">jdbc:mysql://localhost:3306/AIR</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"></config-property>
<config-property name="Password" type="java.lang.String"></config-property>
</properties> </attribute>...3.将jdbc驱动copy到C:\jboss-3.0.6_tomcat-4.1.18\server\default\lib目录下,mysql没有的驱动jar文件是mm.mysql-2.0.14-bin.jar.4.运行jboss,测试.最后要提一点是无论连接什么数据库,步骤和过程是一样的,可能在配置上面有些细微的差别,因为数据提供商各有自己的实现方式.
(注:如果是其他版本的jboss,这个xml文件有可能命名不一样,而且里头的内容也不一样,如jboss-3.0.6_tomcat-4.1.18版本是mysql-service.xml,但是所在目录和部署目录是一致的.)2.打开mysql-ds.xml(或者mysql-service.xml)文件,做如下修改:
jboss-3.2.0:
===========================================================================
<datasources>
<local-tx-datasource>
<jndi-name>MySqlDS</jndi-name>//jndi名,在程序里引用,或者在bean部署的时候进行引用
<connection-url>jdbc:mysql://localhost:3306/AIR</connection-url>//mysql的默认监听端口是3306,AIR是数据库的名称,这里你换成你要连接的数据库的名称.
<driver-class>org.gjt.mm.mysql.Driver</driver-class>//驱动程序
<user-name></user-name>
<password></password>//填上数据库连接的用户名和密码
</local-tx-datasource></datasources>===========================================================================
jboss3.0
<mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=LocalTxDS,name=MySqlDS"> <attribute name="JndiName">MySqlDS</attribute> <attribute name="ManagedConnectionFactoryProperties">
<properties>
<config-property name="ConnectionURL" type="java.lang.String">jdbc:mysql://localhost:3306/AIR</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"></config-property>
<config-property name="Password" type="java.lang.String"></config-property>
</properties> </attribute>...3.将jdbc驱动copy到C:\jboss-3.0.6_tomcat-4.1.18\server\default\lib目录下,mysql没有的驱动jar文件是mm.mysql-2.0.14-bin.jar.4.运行jboss,测试.最后要提一点是无论连接什么数据库,步骤和过程是一样的,可能在配置上面有些细微的差别,因为数据提供商各有自己的实现方式.
(注:如果是其他版本的jboss,这个xml文件有可能命名不一样,而且里头的内容也不一样,如jboss-3.0.6_tomcat-4.1.18版本是mysql-service.xml,但是所在目录和部署目录是一致的.)2.打开mysql-ds.xml(或者mysql-service.xml)文件,做如下修改:
jboss-3.2.0:
===========================================================================
<datasources>
<local-tx-datasource>
<jndi-name>MySqlDS</jndi-name>//jndi名,在程序里引用,或者在bean部署的时候进行引用
<connection-url>jdbc:mysql://localhost:3306/AIR</connection-url>//mysql的默认监听端口是3306,AIR是数据库的名称,这里你换成你要连接的数据库的名称.
<driver-class>org.gjt.mm.mysql.Driver</driver-class>//驱动程序
<user-name></user-name>
<password></password>//填上数据库连接的用户名和密码
</local-tx-datasource></datasources>===========================================================================
jboss3.0
<mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=LocalTxDS,name=MySqlDS"> <attribute name="JndiName">MySqlDS</attribute> <attribute name="ManagedConnectionFactoryProperties">
<properties>
<config-property name="ConnectionURL" type="java.lang.String">jdbc:mysql://localhost:3306/AIR</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"></config-property>
<config-property name="Password" type="java.lang.String"></config-property>
</properties> </attribute>...3.将jdbc驱动copy到C:\jboss-3.0.6_tomcat-4.1.18\server\default\lib目录下,mysql没有的驱动jar文件是mm.mysql-2.0.14-bin.jar.4.运行jboss,测试.最后要提一点是无论连接什么数据库,步骤和过程是一样的,可能在配置上面有些细微的差别,因为数据提供商各有自己的实现方式.
我配置好了 jboss里面启动也显示了
19:52:03,933 INFO [MySqlDS] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:service=LocalTxCM,name=MySqlDS to JNDI name 'java:/MySqlDS'19:52:03,933 INFO [TxConnectionManager] Started19:52:03,943 INFO [MainDeployer] Deployed package: file:/C:/jboss3.2/server/default/deploy/mysql-ds.xml
19:52:03,933 INFO [MySqlDS] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:service=LocalTxCM,name=MySqlDS to JNDI name 'java:/MySqlDS'19:52:03,933 INFO [TxConnectionManager] Started19:52:03,943 INFO [MainDeployer] Deployed package: file:/C:/jboss3.2/server/default/deploy/mysql-ds.xml
可是前面我的一个jb自动生成的cmp 出现问题了 这是什么问题:
Caused by: org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Could not map transaction isolation '00000l00 to a valid JDBC level.)
是不是和我cmp里面的jbosscmp-jdbc.xml编码配置有关系 我是用UTF-8
里面配置
<jbosscmp-jdbc>
<defaults>
<datasource>java:/MySqlDS</datasource>
<datasource-mapping>mySQL</datasource-mapping>
</defaults>
<enterprise-beans>
<entity>
<ejb-name>Product</ejb-name>
<datasource>java:/MySqlDS</datasource>
<datasource-mapping>mySQL</datasource-mapping>
<table-name>product</table-name>
<cmp-field>
<field-name>productID</field-name>
<column-name>productID</column-name>
</cmp-field>
<cmp-field>
<field-name>name</field-name>
<column-name>name</column-name>
</cmp-field>
<cmp-field>
<field-name>description</field-name>
<column-name>description</column-name>
</cmp-field>
<cmp-field>
<field-name>basePrice</field-name>
<column-name>basePrice</column-name>
</cmp-field>
</entity>
</enterprise-beans>
</jbosscmp-jdbc>