2015-02-27 2 views
3

Sql соединения в Спринг ServiceMix верблюдаSql соединения в Спринг ServiceMix верблюд

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
    <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> 
    <property name="url" value="jdbc:sqlserver://localhost:1433/orderdb"/> 
    <property name="username" value="abc"/> 
    <property name="password" value="pqr"/> 
</bean> 

При попытке установить соединение с помощью dataSource.getConnection()

не позволяет, пожалуйста, помогите

* **** Код подключения **********

public class DatabaseBeanH2 { 

    private DataSource dataSource; 
    private static final Logger LOGGER = LoggerFactory.getLogger(DatabaseBeanH2.class); 

    public DatabaseBeanH2(){} 

    public void setDataSource(DataSource dataSource) { 
     this.dataSource = dataSource; 
    } 

    public void create() throws SQLException{ 
     Statement sta = dataSource.getConnection().createStatement(); 
     try { 
      sta.executeUpdate("CREATE TABLE orders (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, item VARCHAR(50), amount INT, description VARCHAR(300), processed BOOLEAN, consumed BOOLEAN);"); 
     } catch (SQLException e) { 
      LOGGER.info("Table orders already exists"); 
     } 
    } 

    public void destroy() throws SQLException { 
     dataSource.getConnection().close(); 
    } 
} 

ответ

2

Вы должны настраивать вашу базу данных, используя следующий код

<!-- this is the JDBC data source which uses an in-memory only Apache Derby database --> 
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
<property name="driverClassName" value="org.apache.derby.jdbc.EmbeddedDriver"/> 
<property name="url" value="jdbc:derby:memory:orders;create=true"/> 
<property name="username" value=""/> 
<property name="password" value=""/> 
</bean> 

<!-- bean which creates/destroys the database table for this example --> 
<bean id="initDatabase" class="org.apache.camel.example.sql.DatabaseBean" 
    init-method="create" destroy-method="destroy"> 
<property name="dataSource" ref="dataSource"/> 
</bean> 

<!-- configure the Camel SQL component to use the JDBC data source --> 
<bean id="sql" class="org.apache.camel.component.sql.SqlComponent"> 
<property name="dataSource" ref="dataSource"/> 
</bean> 

Пожалуйста, проверьте эта ссылка http://camel.apache.org/sql-example.html

0

Вы должны вводить DATASOURCE боб в вашем DatabaseBeanH2 в контексте верблюд/пружинной, что-то вроде этого:

<bean id="databaseBean" class="my.package.DatabaseBeanH2"> 
    <property name="dataSource" ref="dataSource" /> 
</bean> 
+0

Привет, Майкл, я проверил журнал, тогда я увидел, что это ошибка в servicemix: Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLSer verDriver Пожалуйста, дайте solution –

+0

Установили ли вы драйвер sqd-сервера jdbc в ServiceMix? Вы импортировали пакеты для драйвера jdbc в свой комплект? – KSobkowiak