liruhui commented on issue #24894:
URL: 
https://github.com/apache/shardingsphere/issues/24894#issuecomment-1490609792

   > In the Java API scenario, `DriverManager` can scan the required drivers, 
but the Spring namespace needs to find the corresponding `Bean`, the search way 
is different.
   
   ```
   Thank you !!! 
   
   shardingsphere5.2.1 spring-namespace error Has been solved.   just only add  
<bean id="h2Driver" class="org.h2.Driver">
   
   but  
   
   shardingSphere Upgrade the version to 5.3.1.   use yaml+Driver  instead of  
spring-namespace  
   The same code , I user yaml+Driver Encountered the same problem
    
   I really want to cry   because every example i write has error 
   
   ```
   ## 1. dependency(5.3.1)
   ```xml
      <dependency>
               <groupId>org.apache.shardingsphere</groupId>
               <artifactId>shardingsphere-jdbc-core</artifactId>
               <version>5.3.1</version>
           </dependency>
   ```
   
   ## 2. config  driver 
   
![image](https://user-images.githubusercontent.com/24687986/228904918-021cf3c8-3ca1-4eb5-8543-671b204eb382.png)
   
   ## 3. error info 
   ```java
   ### Cause: java.lang.RuntimeException: Failed to get driver instance for 
jdbcUrl=jdbc:h2:mem:config;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL
        java.sql.SQLException: No suitable driver
                at 
java.sql/java.sql.DriverManager.getDriver(DriverManager.java:298)
                at 
com.zaxxer.hikari.util.DriverDataSource.<init>(DriverDataSource.java:106)
                at 
com.zaxxer.hikari.pool.PoolBase.initializeDataSource(PoolBase.java:331)
                at com.zaxxer.hikari.pool.PoolBase.<init>(PoolBase.java:114)
                at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:108)
                at 
com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
                at 
org.apache.shardingsphere.mode.repository.standalone.jdbc.JDBCRepository.init(JDBCRepository.java:68)
                at 
org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPIRegistry.findRegisteredService(TypedSPIRegistry.java:66)
                at 
org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPIRegistry.getRegisteredService(TypedSPIRegistry.java:113)
                at 
org.apache.shardingsphere.mode.manager.standalone.StandaloneContextManagerBuilder.build(StandaloneContextManagerBuilder.java:49)
                at 
org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource.createContextManager(ShardingSphereDataSource.java:81)
                at 
org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource.<init>(ShardingSphereDataSource.java:66)
                at 
org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory.createDataSource(ShardingSphereDataSourceFactory.java:93)
                at 
org.apache.shardingsphere.driver.api.yaml.YamlShardingSphereDataSourceFactory.createDataSource(YamlShardingSphereDataSourceFactory.java:133)
                at 
org.apache.shardingsphere.driver.api.yaml.YamlShardingSphereDataSourceFactory.createDataSource(YamlShardingSphereDataSourceFactory.java:75)
                at 
org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache.createDataSource(DriverDataSourceCache.java:51)
                at 
java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
                at 
org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache.get(DriverDataSourceCache.java:45)
                at 
org.apache.shardingsphere.driver.ShardingSphereDriver.connect(ShardingSphereDriver.java:51)
                at 
org.springframework.jdbc.datasource.SimpleDriverDataSource.getConnectionFromDriver(SimpleDriverDataSource.java:144)
                at 
org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:205)
                at 
org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:169)
                at 
org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158)
                at 
org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116)
                at 
org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
                at 
org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80)
                at 
org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67)
                at 
org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337)
                at 
org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86)
                at 
org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49)
                at 
org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
                at 
org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
                at 
org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
                at 
org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184)
                at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.base/java.lang.reflect.Method.invoke(Method.java:566)
                at 
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
                at com.sun.proxy.$Proxy12.insert(Unknown Source)
                at 
org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)
                at 
org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62)
                at 
org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152)
                at 
org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85)
                at com.sun.proxy.$Proxy24.save(Unknown Source)
   ```
   
   ## 4. config h2
   
![image](https://user-images.githubusercontent.com/24687986/228905555-cb923294-3a96-47e3-98e5-f68935ac02a2.png)
   
   ## 5. Still reporting an error
   ```java
   ### Cause: java.lang.RuntimeException: Failed to get driver instance for 
jdbcUrl=jdbc:mysql://192.168.191.128:3306/db_book?serverTimezone=UTC
        java.sql.SQLException: No suitable driver
                at 
java.sql/java.sql.DriverManager.getDriver(DriverManager.java:298)
                at 
com.zaxxer.hikari.util.DriverDataSource.<init>(DriverDataSource.java:106)
                at 
com.zaxxer.hikari.pool.PoolBase.initializeDataSource(PoolBase.java:331)
                at com.zaxxer.hikari.pool.PoolBase.<init>(PoolBase.java:114)
                at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:108)
                at 
com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
                at 
org.apache.shardingsphere.infra.datasource.state.DataSourceStateManager.checkState(DataSourceStateManager.java:84)
                at 
org.apache.shardingsphere.infra.datasource.state.DataSourceStateManager.initState(DataSourceStateManager.java:79)
                at 
org.apache.shardingsphere.infra.datasource.state.DataSourceStateManager.lambda$initStates$0(DataSourceStateManager.java:70)
                at 
java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
                at 
org.apache.shardingsphere.infra.datasource.state.DataSourceStateManager.initStates(DataSourceStateManager.java:70)
                at 
org.apache.shardingsphere.mode.metadata.MetaDataContextsFactory.lambda$checkDataSourceStates$4(MetaDataContextsFactory.java:113)
                at java.base/java.util.HashMap.forEach(HashMap.java:1336)
                at 
org.apache.shardingsphere.mode.metadata.MetaDataContextsFactory.checkDataSourceStates(MetaDataContextsFactory.java:111)
                at 
org.apache.shardingsphere.mode.metadata.MetaDataContextsFactory.create(MetaDataContextsFactory.java:87)
                at 
org.apache.shardingsphere.mode.metadata.MetaDataContextsFactory.create(MetaDataContextsFactory.java:68)
                at 
org.apache.shardingsphere.mode.manager.standalone.StandaloneContextManagerBuilder.build(StandaloneContextManagerBuilder.java:54)
                at 
org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource.createContextManager(ShardingSphereDataSource.java:81)
                at 
org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource.<init>(ShardingSphereDataSource.java:66)
                at 
org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory.createDataSource(ShardingSphereDataSourceFactory.java:93)
                at 
org.apache.shardingsphere.driver.api.yaml.YamlShardingSphereDataSourceFactory.createDataSource(YamlShardingSphereDataSourceFactory.java:133)
                at 
org.apache.shardingsphere.driver.api.yaml.YamlShardingSphereDataSourceFactory.createDataSource(YamlShardingSphereDataSourceFactory.java:75)
                at 
org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache.createDataSource(DriverDataSourceCache.java:51)
                at 
java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
                at 
org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache.get(DriverDataSourceCache.java:45)
                at 
org.apache.shardingsphere.driver.ShardingSphereDriver.connect(ShardingSphereDriver.java:51)
                at 
org.springframework.jdbc.datasource.SimpleDriverDataSource.getConnectionFromDriver(SimpleDriverDataSource.java:144)
                at 
org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:205)
                at 
org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:169)
                at 
org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158)
                at 
org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116)
                at 
org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
                at 
org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80)
                at 
org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67)
                at 
org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337)
                at 
org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86)
                at 
org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49)
                at 
org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
                at 
org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
                at 
org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
                at 
org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184)
                at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.base/java.lang.reflect.Method.invoke(Method.java:566)
                at 
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
                at com.sun.proxy.$Proxy12.insert(Unknown Source)
                at 
org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)
                at 
org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62)
                at 
org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152)
                at 
org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85)
                at com.sun.proxy.$Proxy24.save(Unknown Source)
   ```
   
   
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to