2016-11-17 4 views
0

Ich versuche, eine einfache Spring-Anwendung mit Teradata-Datenbank zu erstellen.Spring Boot und Teradata UnzufriedeneDependenzException

Es wurde mit MySQL-Datenbank und Treiber arbeiten aber nach dem Wechsel/zum Teradata-Treiber datenbank i erhalten folgende Ausnahme:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.tomcat.jdbc.pool.DataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalArgumentException: URL must start with 'jdbc' 

Anwendungseigenschaften:

spring.datasource.url =jdbc:teradata://servername/db 
spring.datasource.username = dbc 
spring.datasource.password = dbc 
spring.datasource.driverClassName=com.ncr.teradata.TeraDriver 

Antwort

1

Ich denke, das Problem des Frühlings ist, dass Sie könnte @Autowire auf Konstruktor verwenden, aber Frühling kann Klasse mit diesem Namen nicht injizieren. Um das Problem zu lösen, definieren Sie einfach einen DataSource in Ihrem Kontext - an diesem Punkt wird Spring in der Lage sein, die Bean zu injizieren und den Kontext korrekt zu laden.