2016-01-23 27 views
1

我對ApacheCamel相當陌生,我試圖將一個TeraData DB調用集成到我們的數據庫中,但我無法弄清楚下面的錯誤信息。另外,我在保險絲中運行這個。如何在Apache Camel中集成/調用teradata db?

2016年1月22日16:17:36725 [Blueprint擴展:1] ERROR org.apache.aries.blueprint.container.BlueprintContainerImpl - 無法啓動藍圖容器束熔斷瑪利亞束 有機osgi.service.blueprint.container.ComponentDefinitionException:無法找到類com.teradata.jdbc.TeraDriver屬性描述符URL

我迄今所做添加下面我blueprint.xml

<bean id="teradata" class="com.teradata.jdbc.TeraDriver"> 
     <property name="URL" value="jdbc:teradata://[inser database connection]" /> 
     <property name="user" value="myuser" /> 
     <property name="password" value="mypassword" /> 
    </bean> 

我有這個在我pom.xml

<dependency> 
    <groupId>com.teradata.jdbc</groupId> 
    <artifactId>terajdbc4</artifactId> 
    <version>15.10.00.14</version> 
</dependency> 
<dependency> 
    <groupId>com.teradata.jdbc</groupId> 
    <artifactId>tdgssconfig</artifactId> 
    <version>15.10.00.14</version> 
</dependency> 

...並遵循從這個link,我下載的驅動程序從teradata.com指令。

在我的路線中,我有下面的代碼。

@Override 
    public void configure() throws Exception { 
     from("timer://testtimer?period=1000000") 
       .enrich("sql:select count(*) from table1?dataSource=#teradata") 
       .log("Processing ${body}"); 


    } 

任何想法都會有所幫助。提前致謝!

+0

缺失鏈接添加。謝謝! – maridob

回答

1
  • 你必須下載數據庫驅動程序(terajdbc4.jar)。我想,你 已經有它...
  • 現在你必須安裝驅動程序到您的容器(卡拉夫,因爲你寫了「保險絲」)。

從文件,Windows例如安裝(如果司機不OSGi的準備),Karaf控制檯:

install -s wrap:file:///c:/install/terajdbc4.jar 

或安裝從Maven的庫:

install -s wrap:mvn:com.teradata.jdbc/terajdbc4/15.10.00.14 

任務完成。

關於轉換罐子: https://access.redhat.com/documentation/en-US/Fuse_ESB_Enterprise/7.0/html/Deploying_into_the_Container/files/DeployJar-Wrap.html

更新:

的問題是,類com.teradata.jdbc.TeraDriver沒有屬性的URL,URL,等等...

我建議你去嘗試org.apache.commons.dbcp.BasicDataSource這樣的:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" > 
    <property name="driverClassName" value="com.teradata.jdbc.TeraDriver" /> 
    <property name="url" value="jdbc:teradata://[inser database connection]" /> 
    <property name="username" value="myuser" /> 
    <property name="password" value="mypassword" /> 
</bean> 

第二個選項是org.springframework.jdbc.datasource.DriverManagerDataSource

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" > 
    <property name="driverClassName" value="com.ncr.teradata.TeraDriver" /> 
    <property name="url" value="jdbc:teradata://[inser database connection]" /> 
    <property name="username" value="myuser" /> 
    <property name="password" value="mypassword" /> 
</bean> 
+0

嗨Alexey - 我在我的機器上安裝並運行此代碼。 mvn install:install-file -DgroupId = com.teradata.jdbc -DartifactId = terajdbc4 -Dversion = 15.10.00.14 -Dpackaging = jar -Dfile =/Users/me/Downloads/Tera/terajdbc4.jar >>在我看來它與你的命令一樣,我的只是mac版本。我錯過了什麼? – maridob

+0

您的命令將驅動程序安裝到Maven存儲庫中。現在,您必須從Maven存儲庫(或從文件)將其安裝到您的容器Fuse中。我的命令不適用於Mac,命令適用於Karaf(Fuse)控制檯(OSGi服務器,運行Apache Camel和其他許多軟件包的服務器)。你如何運行你的例子? –

+0

嗨Alexey - 我使用這個命令在karaf中安裝了terajdbc4.jar和config:osgi:install'wrap:file:///tmp/terajdbc4.jar。由於某種原因,當我嘗試使用「安裝」它是拋出錯誤執行命令的錯誤。這樣做後,它仍然給我同樣的確切的錯誤。 – maridob

0

的錯誤是特定於您的TeraDriver豆設置該屬性的網址,那並不像該屬性是可用的類,你可以嘗試使用「url」在小案例

+0

謝謝!不幸的是我得到了同樣的錯誤。 – maridob

相關問題