【发布时间】:2015-04-27 06:13:53
【问题描述】:
我在本地机器上的 servicemix 中使用骆驼我想连接到 sql server 所以我必须安装 jdbc 或者我可以使用 servicemix 的 m2 请帮助我可以使用 camel-sql-datasource-h2 进行 sql 操作如果是的话我尝试更改 \blueprint.xml 的用户名和密码,但没有给出正确的结果
【问题讨论】:
标签: sql jdbc apache-servicemix
我在本地机器上的 servicemix 中使用骆驼我想连接到 sql server 所以我必须安装 jdbc 或者我可以使用 servicemix 的 m2 请帮助我可以使用 camel-sql-datasource-h2 进行 sql 操作如果是的话我尝试更改 \blueprint.xml 的用户名和密码,但没有给出正确的结果
【问题讨论】:
标签: sql jdbc apache-servicemix
您也可以使用jdbc:create 命令。您应该先安装jdbc 功能并像这样创建数据源
jdbc:create -t MySQL -i --username xxx --password yyy -url jdbc:mysql://localhost:3306/myveo mySqlDataSource
-i 参数会自动安装驱动。你可以在deploy/datasource-mySqlDataSource.xml找到驱动配置
接下来您可以使用
引用数据源<reference id="demoDataSource" interface="javax.sql.DataSource" />
【讨论】:
不,您必须在 ServiceMix 安装中提供相应的 JDBC 驱动程序。例如,如果您使用 MySQL,则必须在 ServicMix 中安装 JDBC 驱动程序:
osgi:install -s mvn:mysql/mysql-connector-java/5.1.34
在您的数据源中,您必须为 MySQL 提供相应的属性:
<bean id="mySqlDataSource" class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close" scope="singleton">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/myveo" />
<property name="username" value="xxx" />
<property name="password" value="yyy" />
<property name="initialSize" value="0" />
</bean>
并像这样配置sql组件
<bean id="sql" class="org.apache.camel.component.sql.SqlComponent">
<property name="dataSource" ref="mySqlDataSource" />
</bean>
你可以像在这个丰富的组件中一样使用它
<enrich uri="sql:select * from MY_TABLE;" strategyRef="myAggregationStrategy" strategyMethodAllowNull="true" />
【讨论】:
dataSource.getConnection() 的数据源?请提供更多您的代码,否则无法找到错误。