<dependency>
<groupId>io.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>3.1.0</version>
</dependency>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.8.RELEASE</version>
</parent>
Do you change other configuration except the pom version?
@fdlzp I suggest that do DEBUG at TableMetaDataLoader.java:128
.
From the logs, it may be caused by special char at catalog or actualTableName.
check what actual input at the method, please.
@fdlzp I suggest that do DEBUG at TableMetaDataLoader.java:128
.
From the logs, it may be caused by special char at catalog or actualTableName.
check what actual input at the method, please.
I‘ll try
My newest code don't user the new version (2.0.8+3.1.0) in pom.
Can you change the version and try it again?
Yes, I have found, I change it to (2.0.8+3.1.0) , but your problem didn't happen.
But I found a new problem when insert data. So you need solve current problem now.
ShardingSphere 3.x will check all table info. Can you drop these tables and retry? My environment didn't create these tables.
There is a probability that it will create these table, If the user does not have a table.
It ocurs three times.This may cause a problem when I insert data.
ShardingSphere 3.x will check all table info. Can you drop these tables and retry? My environment didn't create these tables.
There is a probability that it will create these table, If the user does not have a table.
It ocurs three times.This may cause a problem when I insert data.
So you can add sharding.jdbc.config.props.sql.show=true
property to configuration file to get the actual SQL sharding-jdbc execute.
Clean all tables first and then restart application, see what SQLs actual execute.
BTW, you can add sharding.jdbc.config.props.sql.show=true
property to configuration file to get the actual SQL sharding-jdbc execute.
I’ll try it.
What odjbc version do you use in pom and install in your local environment?
I think the property sharding.jdbc.config.props.sql.show=true is helpful for the data-insert problem.
But it seems no more information for error: java.sql.SQLDataException: ORA-01424: 转义符之后字符缺失或非法
I think the property sharding.jdbc.config.props.sql.show=true is helpful for the data-insert problem.
But it seems no more information for error: java.sql.SQLDataException: ORA-01424: 转义符之后字符缺失或非法
sql.show can see what table ShardingSphere drop and create. If not create table SQL input, ShardingSphere would not create table by itself. So you need to check why and how these table were created. Because in my environment, I don't have these table.
I think there are some trouble in your environment(may be database environment), because I don't find these special tables with version(1.5.9+2.0.3) too.
All my tests is based your example code, only change configurations of database
(https://blog.csdn.net/inber/article/details/958372).
It may be a bug of shardingsphere3.1.0 which is unable to access the oracle datasource sometimes.
#1809 (comment)
It may be a bug of shardingsphere3.1.0 which is unable to access the oracle datasource sometimes.
#1809 (comment)
see #1933
Hello,could you tell me the version of your oracle database?
10.2.0.1.0 and 11.2.0.1.0 are what I’m using.
11.2.0.3.0
I am sorry to feedback after such a long time.
I installed the oracle database (11.2.0.3.0 and 12.2.0.1.0).
For 11.2.0.3.0 , still throw the error "Caused by: java.sql.SQLDataException: ORA-01424: 转义符之后字符缺失或非法".
For 12.2.0.1.0 , I can connect to the database successfully (version 3.0.0.M2~3.1.0).
Howerver, there are three problem.
1、It costs a long time to connect to the database. (version 3.0.0.M2~3.1.0)
It takes an average of 1 hour.
This may be caused by the sql:
SELECT NULL AS table_cat, o.owner AS table_schem, o.object_name AS table_name, o.object_type AS table_type, NULL AS remarks FROM all_object o WHERE o.owner LIKE :1 ESC
begin :rept := dbms_report.get_report(:report_ref, :content, :comp); end;
I didn't go to find the deep reason.
#1933
Which version solves this problem? 4.x?
I am sorry to feedback after such a long time.
I installed the oracle database (11.2.0.3.0 and 12.2.0.1.0).
For 11.2.0.3.0 , still throw the error "Caused by: java.sql.SQLDataException: ORA-01424: 转义符之后字符缺失或非法".
For 12.2.0.1.0 , I can connect to the database successfully (version 3.0.0.M2~3.1.0).
The problem will be caused when these tmp tables created which we discuss before.
You should try to find solution to make oracle don't create these tables when you drop tables.
2、The same problem when execute Oracle's DQL
refer to #2152
Any release has solved the problem ?Or waiting for the next release?
3、 A problem when insert data.
I will analyze this issue later.
Howerver, there are three problem.
1、It costs a long time to connect to the database. (version 3.0.0.M2~3.1.0)
It takes an average of 1 hour.
ShardingSphere will get table metadata when start by JDBC method getTables(String catalog, String schemaPattern, String tableNamePattern, String types[])
. But for oracle, the catalog is no effect. So ShardingSphere get whole tableName in oracle (just like #1933). If there are too many tables, it will cost much time.
Which version solves this problem? 4.x?
see #1933 and #1951
I am sorry to feedback after such a long time.
I installed the oracle database (11.2.0.3.0 and 12.2.0.1.0).
For 11.2.0.3.0 , still throw the error "Caused by: java.sql.SQLDataException: ORA-01424: 转义符之后字符缺失或非法".
For 12.2.0.1.0 , I can connect to the database successfully (version 3.0.0.M2~3.1.0).
The problem will be caused when these tmp tables created which we discuss before.
You should try to find solution to make oracle don't create these tables when you drop tables.
What I don’t understand is
there is no tmp table in my database
but still has this problem.
(I just create the table,and comment the config for droping tables.
But I searched for ORA-01424, as the result show,the tmp table cause the problem.
I ....
2、The same problem when execute Oracle's DQL
refer to #2152
Any release has solved the problem ?Or waiting for the next release?
fixed in next release.
3、 A problem when insert data.
I plan to analyze this issue later.
It should open a new issue. Pleases do not discuss in this issue.
I am sorry to feedback after such a long time.
I installed the oracle database (11.2.0.3.0 and 12.2.0.1.0).
For 11.2.0.3.0 , still throw the error "Caused by: java.sql.SQLDataException: ORA-01424: 转义符之后字符缺失或非法".
For 12.2.0.1.0 , I can connect to the database successfully (version 3.0.0.M2~3.1.0).
The problem will be caused when these tmp tables created which we discuss before.
You should try to find solution to make oracle don't create these tables when you drop tables.
What I don’t understand is
there is no tmp table in my database
but still has this problem.
(I just create the table,and comment the config for droping table.
But I searched for ORA-01424, as the result show,the tmp table cause the problem.
I ....
Ok, if still has problem, please open a new issue and describe more detailed.
This Issue has deviated from the theme and has been closed.
Thanks very much