2017-06-13 10 views
0

oracleデータベースに接続しようとしていますが、YAMLファイルとともにスプリングブート構成を使用していますが、pomおよびjpaにjdbcを構成しましたが、 。oracleのドライバインスタンスを取得できませんでした

は、私は、URLのために、さまざまな設定を試してみた:

ここ
1) jdbcUrl=jdbc:oracle:thin://test.test.test:1521 

2) jdbcUrl=jdbc:oracle:[email protected]:1521 

3) jdbcUrl=jdbc:oracle://test.test.test:1521 

4) jdbcUrl=jdbc:[email protected]:1521 

私application.yml

spring: 
    profiles: test 
datasource: 
    onlineterminierung: 
    url: jdbc:oracle: jdbc:oracle:thin://test.test.test:1521 
    database: test 
    username: test 
    password: test 
    driverClassName: oracle.jdbc.driver.OracleDriver 
    defaultSchema: 
    maxPoolSize: 20 
    hibernate: 
     hbm2ddl.method: update 
     show_sql: false 
     format_sql: true 
     dialect: org.hibernate.dialect.Oracle10gDialect 

、ここでのDataSourceビーン:ここ

/* 
    * Configure HikariCP pooled DataSource. 
    */ 
    @Bean 
    public DataSource dataSource() { 
     DataSourceProperties dataSourceProperties = dataSourceProperties(); 
     HikariDataSource dataSource = (HikariDataSource) DataSourceBuilder.create(dataSourceProperties.getClassLoader()) 
       .driverClassName(dataSourceProperties.getDriverClassName()).url(dataSourceProperties.getUrl()).username(dataSourceProperties.getUsername()) 
       .password(dataSourceProperties.getPassword()).type(HikariDataSource.class).build(); 
     dataSource.setMaximumPoolSize(maxPoolSize); 
     return dataSource; 
    } 

ポンポン:

ここ

スタック:

HHH000342: Could not obtain connection to query metadata : Failed to get driver instance for jdbcUrl=jdbc:oracle:thin://test.test.test:1521 
    Unable to build Hibernate SessionFactory 
    Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory 
    Caused by: java.lang.RuntimeException: Failed to get driver instance for jdbcUrl=jdbc:oracle:thin://test.test.test:1521 
    Caused by: java.sql.SQLException: No suitable driver 

いくつかのアイデア?

+1

JDBC。 oracle:thin @ OldProgrammer

+0

jdbc:oracle:thin:@host:port:db "、" usname "、" pwd " – Pradeep

答えて

3

構文:

jdbc:oracle:thin:@host:port:db","usname","pwd"

@Autowired 
    DataSource dataSource; 



@Bean(name = "dataSource") 
public DriverManagerDataSource dataSource() { 
    DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource(); 
    driverManagerDataSource.setDriverClassName("oracle.jdbc.OracleDriver"); 
    driverManagerDataSource.setUrl("jdbc:oracle:thin:@hostname:1521/dbname"); 
    driverManagerDataSource.setUsername("uname"); 
    driverManagerDataSource.setConnectionProperties(getadditionalJpaProperties()); 
    driverManagerDataSource.setPassword("password"); 
    return driverManagerDataSource; 
} 

Properties getadditionalJpaProperties() { 
    Properties properties = new Properties(); 
    // properties.setProperty("hibernate.hbm2ddl.auto", "create-drop"); 
    properties.setProperty("hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect"); 
    properties.setProperty("hibernate.show_sql", "true"); 

    return properties; 
} 
+0

ホストの詳細などを変更して上記にあなたの設定を追加できますか?私のために – Pradeep

+0

感謝の男、今私はエラーが発生します:TNS:リスナーは現在、接続記述子で要求されたサービスを知りません。それが何であるか知っていますか? – mattobob

+0

toadまたはsql開発者を使用してdb manualyに接続しましたか? – Pradeep

1

は常にさまざまな接続レベルのパラメータを渡すためにあなたに柔軟性を与え、接続URLの長い形式を使用します。 GitHubのコードサンプルDataSourceSampleには、参照用のサンプルURLがあります。

JDBC:オラクル:薄い:@(DESCRIPTION =(ADDRESS =(HOST = myhostの)(PORT = 1521)(PROTOCOL = TCP))(CONNECT_DATA =(SERVICE_NAME = myorcldbservicename))) ";

関連する問題