使用Sybase服务器的Springboot-无法加载驱动程序类:com.sybase.jdbc4.jdbc.SybDriver

在使用全新的Spring Boot应用程序配置Sybase服务器时面临困难。不确定如何使用Spring Boot成功配置Sybase服务器。收到错误“无法加载驱动程序类:com.sybase.jdbc4.jdbc.SybDriver”。

基本上,我希望从Sybase数据库中获取一些数据,并以JSON格式作为RESTful服务发布。任何帮助,将不胜感激。

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.rbccm.poc</groupId>
    <artifactId>springbootpoc1</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>

    <name>springbootpoc1</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.sybase.jconnect</groupId>
            <artifactId>jconn4</artifactId>
            <version>7.07</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <dependency>
            <groupId>com.github.derjust</groupId>
            <artifactId>spring-data-dynamodb</artifactId>
            <version>5.0.2</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

application.properties

server.port=8090

spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.databasePlatform=org.hibernate.dialect.SybaseDialect
spring.jpa.show-sql=true

# hikariCP
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.url=jdbc:sybase:Tds:server:port/dbname
spring.datasource.username=u_****
spring.datasource.password=****
spring.datasource.connectionTestQuery=SELECT 1
spring.datasource.poolName=SpringBootHikariCP
spring.datasource.maximumPoolSize=10
spring.datasource.connectionTimeout=60000
spring.datasource.driverClassName=com.sybase.jdbc4.jdbc.SybDriver

# Number of ms to wait before throwing an exception if no connection is available.
spring.datasource.tomcat.max-wait=10000
# Maximum number of active connections that can be allocated from this pool at the same time.
spring.datasource.tomcat.max-active=50
# Validate the connection before borrowing it from the pool.
spring.datasource.tomcat.test-on-borrow=true

#JDBC customize
spring.jdbc.template.max-rows=500

Maven构建日志

2018-04-04 14:48:25.206 ERROR 21768 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration': 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$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.sybase.jdbc4.jdbc.SybDriver
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:729) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]

解决:在pom依赖性中,我使用jdbc而不是jpa。并且必须在外部的类路径中添加“ jconn4d.jar”。

pom.xml

<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency> -->

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency> 

        <!-- <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>6.0.5</version>
        </dependency> -->

        <!-- <dependency>
            <groupId>com.sybase.jconnect</groupId>
            <artifactId>jconn4</artifactId>
            <version>7.07</version>
            <scope>provided</scope>
        </dependency> -->

        <dependency>
    <groupId>jtds</groupId>
    <artifactId>jtds</artifactId>
    <version>1.2</version>
</dependency>

application.properties

spring.datasource.url=jdbc:sybase:Tds:<server>:<port>/<dbname>
spring.datasource.username=u_****
spring.datasource.password=*****
spring.datasource.driverClassName=com.sybase.jdbc4.jdbc.SybDriver

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

驱动程序类如何位于JDBC4中

JConn4 sybase jdbc驱动程序比JConn2慢得多

使用MySQL和Docker的Spring Boot:IllegalStateException:无法加载驱动程序类:com.mysql.cj.jdbc.Driver

无法使用Jmeter创建类'com.microsoft.sqlserver.jdbc.SQLServerDriver'的JDBC驱动程序

MySQL连接器到JDBC的类路径无法加载驱动程序

无法加载JDBC驱动程序类'com.mysql.jdbc.Driver'Tomcat 8和Eclipse

无法加载 JDBC 驱动程序类“com.mysql.cj.jdbc.driver”

无法加载JDBC驱动程序类'com.mysql.jdbc.Driver'声纳插件jenkins

无法加载 JDBC 驱动程序类 [com.mysql.cj.jdbc.Driver]

java.lang.IllegalStateException:无法加载JDBC驱动程序类[com.mysql.jdbc.GoogleDriver]

jdbc4 CommunicationsException

dbcp2无法加载JDBC驱动程序类

无法加载驱动程序类com.mysql.jdbc.Driver

无法加载驱动程序:com.mysql.jdbc.Driver

JDBC 检索外键列名(sybase ase)

JDBC4 Hive驱动程序错误:仅支持AEQuery

无法加载netezza JDBC驱动程序

spring-boot无法加载JDBC驱动程序类“ org.sqlite.JDBC”

尽管添加了 JAR 文件,但仍无法加载 JDBC 驱动程序类“oracle.jdbc.OracleDriver”

加载JDBC驱动程序

无法加载Hibernate JDBC驱动程序com.mysql.jdbc.Driver

Hive jdbc 驱动程序无法使用 ignite - java.lang.IncompatibleClassChangeError:实现类

IBM Worklight SQL适配器-无法连接到数据库。无法加载JDBC驱动程序类'com.mysql.jdbc.Driver'

JDBC同时连接到MySQL和Sybase数据库

JDBC驱动程序实现和类加载

无法使用 PostgreSQL JDBC 驱动程序通过 SSL 连接

无法使用jdbc驱动程序连接到mysql

无法加载驱动程序类org.mariadb.jdbc.Driver

弹簧。无法加载驱动程序类:org.hsqldb.jdbc.JDBCDriver