Mycat2 icon indicating copy to clipboard operation
Mycat2 copied to clipboard

连接SqlServer报错

Open FletcherDD opened this issue 4 years ago • 28 comments

mycat连接SqlServer报错 报错日志如下: STATUS | wrapper | 2021/07/06 10:50:54 | mycat2 removed. STATUS | wrapper | 2021/07/06 10:50:59 | mycat2 installed. STATUS | wrapper | 2021/07/06 10:51:04 | The mycat2 Service is installed. STATUS | wrapper | 2021/07/06 10:51:04 | Start Type: Automatic STATUS | wrapper | 2021/07/06 10:51:04 | Interactive: No STATUS | wrapper | 2021/07/06 10:51:04 | Running: No STATUS | wrapper | 2021/07/06 10:51:11 | Starting the mycat2 service... STATUS | wrapper | 2021/07/06 10:51:11 | --> Wrapper Started as Service STATUS | wrapper | 2021/07/06 10:51:12 | Launching a JVM... INFO | jvm 1 | 2021/07/06 10:51:12 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org INFO | jvm 1 | 2021/07/06 10:51:12 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved. INFO | jvm 1 | 2021/07/06 10:51:12 | INFO | jvm 1 | 2021/07/06 10:51:13 | path:D:\develop\mycat2.0.\conf INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.vertx.core.logging.LoggerFactory - Using io.vertx.core.logging.SLF4JLogDelegateFactory INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] INFO io.mycat.MycatCore - start VertxMycatServer INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.level: simple INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.targetRecords: 4 INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - Platform: Windows INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - -Dio.netty.noUnsafe: false INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - Java version: 8 INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.theUnsafe: available INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.copyMemory: available INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Buffer.address: available INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - direct buffer constructor: available INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Bits.unaligned: available, true INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable prior to Java9 INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.DirectByteBuffer.(long, int): available INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - sun.misc.Unsafe: available INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.tmpdir: C:\WINDOWS\system32\config\systemprofile\AppData\Local\Temp (java.io.tmpdir) INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.bitMode: 64 (sun.arch.data.model) INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.maxDirectMemory: 3817865216 bytes INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.uninitializedArrayAllocationThreshold: -1 INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.CleanerJava6 - java.nio.ByteBuffer.cleaner(): available INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.noPreferDirect: false INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.channel.MultithreadEventLoopGroup - -Dio.netty.eventLoopThreads: 8 INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024 INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096 INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.noKeySetOptimization: false INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.selectorAutoRebuildThreshold: 512 INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - org.jctools-core.MpscChunkedArrayQueue: available INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider - Default DNS servers: [/10.100.1.1:53, /10.100.1.2:53] (sun.net.dns.ResolverConfiguration) INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv4Stack: false INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv6Addresses: false INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.NetUtil - Loopback interface: lo (Software Loopback Interface 1, 127.0.0.1) INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.NetUtil - Failed to get SOMAXCONN from sysctl and file \proc\sys\net\core\somaxconn. Default: 200 INFO | jvm 1 | 2021/07/06 10:51:13 | log4j:WARN No appenders could be found for logger (com.alibaba.druid.pool.DruidDataSource). INFO | jvm 1 | 2021/07/06 10:51:13 | log4j:WARN Please initialize the log4j system properly. INFO | jvm 1 | 2021/07/06 10:51:13 | log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. INFO | jvm 1 | 2021/07/06 10:51:13 | [pool-2-thread-1] DEBUG io.mycat.datasource.jdbc.datasource.JdbcConnectionManager - INFO | jvm 1 | 2021/07/06 10:51:13 | java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerDriver INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:677) INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.pool.DruidDataSource.resolveDriver(DruidDataSource.java:1210) INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:879) INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1389) INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1385) INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:100) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager.getConnection(JdbcConnectionManager.java:130) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager.getConnection(JdbcConnectionManager.java:117) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.heartbeat(JdbcConnectionManager.java:209) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.lambda$accept$0(JdbcConnectionManager.java:197) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.IOExecutor$1VertxIOExecutor.lambda$executeBlocking$0(IOExecutor.java:54) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Thread.run(Thread.java:748) INFO | jvm 1 | 2021/07/06 10:51:13 | Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver INFO | jvm 1 | 2021/07/06 10:51:13 | at java.net.URLClassLoader.findClass(URLClassLoader.java:382) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.ClassLoader.loadClass(ClassLoader.java:424) INFO | jvm 1 | 2021/07/06 10:51:13 | at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.ClassLoader.loadClass(ClassLoader.java:357) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Class.forName0(Native Method) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Class.forName(Class.java:264) INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:675) INFO | jvm 1 | 2021/07/06 10:51:13 | ... 13 more INFO | jvm 1 | 2021/07/06 10:51:13 | [pool-2-thread-1] INFO io.mycat.replica.heartbeat.HeartbeatFlow - prototypeDs heartStatus DatasourceStatus(status=ERROR_STATUS, isSlaveBehindMaster=false, dbSynStatus=DB_SYN_NORMAL, master=false) INFO | jvm 1 | 2021/07/06 10:51:13 | SLF4J: Failed toString() invocation on an object of type [java.util.concurrent.CopyOnWriteArrayList] INFO | jvm 1 | 2021/07/06 10:51:13 | Reported exception: INFO | jvm 1 | 2021/07/06 10:51:13 | java.lang.NullPointerException INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Objects.requireNonNull(Objects.java:203) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.MetaClusterCurrent.wrapper(MetaClusterCurrent.java:14) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.config.ConfigPrepareExecuter.lambda$fullInitBy$6(ConfigPrepareExecuter.java:181) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaSelectorRuntime.lambda$registerDatasource$7(ReplicaSelectorRuntime.java:262) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.getSessionCounter(PhysicsInstanceImpl.java:107) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.toString(PhysicsInstanceImpl.java:26) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.String.valueOf(String.java:2994) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Arrays.toString(Arrays.java:4571) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.CopyOnWriteArrayList.toString(CopyOnWriteArrayList.java:1013) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:277) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:249) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:211) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:161) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:151) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.formatAndLog(SimpleLogger.java:354) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.info(SimpleLogger.java:496) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.switchWriteDataSource(ReplicaDataSourceSelector.java:190) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.notifySwitchReplicaDataSource(ReplicaDataSourceSelector.java:282) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.DefaultHeartbeatFlow.sendDataSourceStatus(DefaultHeartbeatFlow.java:80) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setError(HeartbeatFlow.java:92) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setStatus(HeartbeatFlow.java:75) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.strategy.MySQLMasterSlaveBeatStrategy.onException(MySQLMasterSlaveBeatStrategy.java:90) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.heartbeat(JdbcConnectionManager.java:224) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.lambda$accept$0(JdbcConnectionManager.java:197) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.IOExecutor$1VertxIOExecutor.lambda$executeBlocking$0(IOExecutor.java:54) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Thread.run(Thread.java:748) INFO | jvm 1 | 2021/07/06 10:51:13 | SLF4J: Failed toString() invocation on an object of type [java.util.concurrent.CopyOnWriteArrayList] INFO | jvm 1 | 2021/07/06 10:51:13 | Reported exception: INFO | jvm 1 | 2021/07/06 10:51:13 | java.lang.NullPointerException INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Objects.requireNonNull(Objects.java:203) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.MetaClusterCurrent.wrapper(MetaClusterCurrent.java:14) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.config.ConfigPrepareExecuter.lambda$fullInitBy$6(ConfigPrepareExecuter.java:181) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaSelectorRuntime.lambda$registerDatasource$7(ReplicaSelectorRuntime.java:262) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.getSessionCounter(PhysicsInstanceImpl.java:107) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.toString(PhysicsInstanceImpl.java:26) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.String.valueOf(String.java:2994) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Arrays.toString(Arrays.java:4571) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.CopyOnWriteArrayList.toString(CopyOnWriteArrayList.java:1013) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:277) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:249) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:211) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:161) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:151) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.formatAndLog(SimpleLogger.java:354) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.info(SimpleLogger.java:496) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.switchWriteDataSource(ReplicaDataSourceSelector.java:190) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.notifySwitchReplicaDataSource(ReplicaDataSourceSelector.java:282) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.DefaultHeartbeatFlow.sendDataSourceStatus(DefaultHeartbeatFlow.java:80) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setError(HeartbeatFlow.java:92) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setStatus(HeartbeatFlow.java:75) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.strategy.MySQLMasterSlaveBeatStrategy.onException(MySQLMasterSlaveBeatStrategy.java:90) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.heartbeat(JdbcConnectionManager.java:224) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.lambda$accept$0(JdbcConnectionManager.java:197) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.IOExecutor$1VertxIOExecutor.lambda$executeBlocking$0(IOExecutor.java:54) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Thread.run(Thread.java:748) INFO | jvm 1 | 2021/07/06 10:51:13 | [pool-2-thread-1] INFO io.mycat.replica.ReplicaDataSourceSelector - [FAILED toString()] switch master to [FAILED toString()] INFO | jvm 1 | 2021/07/06 10:51:13 | SLF4J: Failed toString() invocation on an object of type [java.util.concurrent.CopyOnWriteArrayList] INFO | jvm 1 | 2021/07/06 10:51:13 | Reported exception: INFO | jvm 1 | 2021/07/06 10:51:13 | java.lang.NullPointerException INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Objects.requireNonNull(Objects.java:203) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.MetaClusterCurrent.wrapper(MetaClusterCurrent.java:14) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.config.ConfigPrepareExecuter.lambda$fullInitBy$6(ConfigPrepareExecuter.java:181) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaSelectorRuntime.lambda$registerDatasource$7(ReplicaSelectorRuntime.java:262) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.getSessionCounter(PhysicsInstanceImpl.java:107) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.toString(PhysicsInstanceImpl.java:26) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.String.valueOf(String.java:2994) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Arrays.toString(Arrays.java:4571) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.CopyOnWriteArrayList.toString(CopyOnWriteArrayList.java:1013) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:277) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:249) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:211) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:161) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:151) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.formatAndLog(SimpleLogger.java:354) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.info(SimpleLogger.java:496) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.switchWriteDataSource(ReplicaDataSourceSelector.java:190) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.notifySwitchReplicaDataSource(ReplicaDataSourceSelector.java:282) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.DefaultHeartbeatFlow.sendDataSourceStatus(DefaultHeartbeatFlow.java:80) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setError(HeartbeatFlow.java:92) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setStatus(HeartbeatFlow.java:75) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.strategy.MySQLMasterSlaveBeatStrategy.onException(MySQLMasterSlaveBeatStrategy.java:90) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.lambda$accept$0(JdbcConnectionManager.java:199) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.IOExecutor$1VertxIOExecutor.lambda$executeBlocking$0(IOExecutor.java:54) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Thread.run(Thread.java:748) INFO | jvm 1 | 2021/07/06 10:51:13 | SLF4J: Failed toString() invocation on an object of type [java.util.concurrent.CopyOnWriteArrayList] INFO | jvm 1 | 2021/07/06 10:51:13 | Reported exception: INFO | jvm 1 | 2021/07/06 10:51:13 | java.lang.NullPointerException INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Objects.requireNonNull(Objects.java:203) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.MetaClusterCurrent.wrapper(MetaClusterCurrent.java:14) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.config.ConfigPrepareExecuter.lambda$fullInitBy$6(ConfigPrepareExecuter.java:181) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaSelectorRuntime.lambda$registerDatasource$7(ReplicaSelectorRuntime.java:262) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.getSessionCounter(PhysicsInstanceImpl.java:107) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.toString(PhysicsInstanceImpl.java:26) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.String.valueOf(String.java:2994) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Arrays.toString(Arrays.java:4571) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.CopyOnWriteArrayList.toString(CopyOnWriteArrayList.java:1013) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:277) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:249) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:211) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:161) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:151) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.formatAndLog(SimpleLogger.java:354) INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.info(SimpleLogger.java:496) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.switchWriteDataSource(ReplicaDataSourceSelector.java:190) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.notifySwitchReplicaDataSource(ReplicaDataSourceSelector.java:282) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.DefaultHeartbeatFlow.sendDataSourceStatus(DefaultHeartbeatFlow.java:80) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setError(HeartbeatFlow.java:92) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setStatus(HeartbeatFlow.java:75) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.strategy.MySQLMasterSlaveBeatStrategy.onException(MySQLMasterSlaveBeatStrategy.java:90) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.lambda$accept$0(JdbcConnectionManager.java:199) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.IOExecutor$1VertxIOExecutor.lambda$executeBlocking$0(IOExecutor.java:54) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Thread.run(Thread.java:748) INFO | jvm 1 | 2021/07/06 10:51:13 | [pool-2-thread-1] INFO io.mycat.replica.ReplicaDataSourceSelector - [FAILED toString()] switch master to [FAILED toString()] INFO | jvm 1 | 2021/07/06 10:51:13 | [pool-2-thread-1] ERROR io.vertx.core.impl.future.FutureImpl - INFO | jvm 1 | 2021/07/06 10:51:13 | java.lang.NullPointerException INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Objects.requireNonNull(Objects.java:203) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.MetaClusterCurrent.wrapper(MetaClusterCurrent.java:14) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.updateFile(ReplicaDataSourceSelector.java:202) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.switchWriteDataSource(ReplicaDataSourceSelector.java:191) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.notifySwitchReplicaDataSource(ReplicaDataSourceSelector.java:282) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.DefaultHeartbeatFlow.sendDataSourceStatus(DefaultHeartbeatFlow.java:80) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setError(HeartbeatFlow.java:92) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setStatus(HeartbeatFlow.java:75) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.strategy.MySQLMasterSlaveBeatStrategy.onException(MySQLMasterSlaveBeatStrategy.java:90) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.lambda$accept$0(JdbcConnectionManager.java:199) INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.IOExecutor$1VertxIOExecutor.lambda$executeBlocking$0(IOExecutor.java:54) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Thread.run(Thread.java:748) STATUS | wrapper | 2021/07/06 10:51:17 | mycat2 started. STATUS | wrapper | 2021/07/06 10:51:23 | The mycat2 Service is installed. STATUS | wrapper | 2021/07/06 10:51:23 | Start Type: Automatic STATUS | wrapper | 2021/07/06 10:51:23 | Interactive: No STATUS | wrapper | 2021/07/06 10:51:23 | Running: Yes INFO | jvm 1 | 2021/07/06 10:52:13 | INFO | jvm 1 | 2021/07/06 10:52:13 | WrapperSimpleApp: Encountered an error running main: io.mycat.MycatException: ERROR-CODE: [MYCAT-3036][ERR_INIT_CONFIG] start FileMetadataStorageManager fail INFO | jvm 1 | 2021/07/06 10:52:13 | io.mycat.MycatException: ERROR-CODE: [MYCAT-3036][ERR_INIT_CONFIG] start FileMetadataStorageManager fail INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.beans.mycat.MycatErrorCode.createMycatException(MycatErrorCode.java:156) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.FileMetadataStorageManager.start(FileMetadataStorageManager.java:211) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.FileMetadataStorageManager.start(FileMetadataStorageManager.java:204) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.MycatCore.start(MycatCore.java:222) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.MycatCore.main(MycatCore.java:235) INFO | jvm 1 | 2021/07/06 10:52:13 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) INFO | jvm 1 | 2021/07/06 10:52:13 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) INFO | jvm 1 | 2021/07/06 10:52:13 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) INFO | jvm 1 | 2021/07/06 10:52:13 | at java.lang.reflect.Method.invoke(Method.java:498) INFO | jvm 1 | 2021/07/06 10:52:13 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240) INFO | jvm 1 | 2021/07/06 10:52:13 | at java.lang.Thread.run(Thread.java:748) INFO | jvm 1 | 2021/07/06 10:52:13 | Caused by: io.mycat.MycatException: ERROR-CODE: [MYCAT-3002][ERR_FETCH_METADATA] MetadataManager init fail INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.beans.mycat.MycatErrorCode.createMycatException(MycatErrorCode.java:156) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.MetadataManager.createMetadataManager(MetadataManager.java:133) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.ConfigPrepareExecuter.fullInitBy(ConfigPrepareExecuter.java:209) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.ConfigPrepareExecuter.prepareRuntimeObject(ConfigPrepareExecuter.java:133) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.FileMetadataStorageManager.commitAndSyncDisk(FileMetadataStorageManager.java:271) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.FileMetadataStorageManager$1.commit(FileMetadataStorageManager.java:250) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.FileMetadataStorageManager.start(FileMetadataStorageManager.java:209) INFO | jvm 1 | 2021/07/06 10:52:13 | ... 9 more INFO | jvm 1 | 2021/07/06 10:52:13 | Caused by: java.lang.NullPointerException INFO | jvm 1 | 2021/07/06 10:52:13 | at com.alibaba.druid.pool.DruidDataSource.getConnectionInternal(DruidDataSource.java:1727) INFO | jvm 1 | 2021/07/06 10:52:13 | at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:1415) INFO | jvm 1 | 2021/07/06 10:52:13 | at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1395) INFO | jvm 1 | 2021/07/06 10:52:13 | at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1385) INFO | jvm 1 | 2021/07/06 10:52:13 | at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:100) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager.getConnection(JdbcConnectionManager.java:130) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager.getConnection(JdbcConnectionManager.java:117) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.MetadataManager.(MetadataManager.java:167) INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.MetadataManager.createMetadataManager(MetadataManager.java:126) INFO | jvm 1 | 2021/07/06 10:52:13 | ... 14 more STATUS | wrapper | 2021/07/06 10:52:15 | <-- Wrapper Stopped STATUS | wrapper | 2021/07/06 10:52:50 | The mycat2 Service is installed. STATUS | wrapper | 2021/07/06 10:52:50 | Start Type: Automatic STATUS | wrapper | 2021/07/06 10:52:50 | Interactive: No STATUS | wrapper | 2021/07/06 10:52:50 | Running: No

配置文件 prototypeDs.datasource.json { "dbType":"jdbc", "idleTimeout":60000, "initSqls":[], "initSqlsGetConnection":true, "instanceType":"READ_WRITE", "maxCon":1000, "maxConnectTimeout":3000, "maxRetryCount":5, "minCon":1, "name":"prototypeDs", "password":"*************", "type":"JDBC", "url":"jdbc:sqlserver://sqlserveraddress:1433;DatabaseName=test20210702", "user":"*****************", "weight":0 }

test20210702.schema.json { "customTables":{}, "globalTables":{}, "normalTables":{ "test_user":{ "createTableSQL":"CREATE TABLE test20210702.test_user (id INT NULL DEFAULT NULL,name VARCHAR(50) NULL DEFAULT NULL)", "locality":{ "schemaName":"test20210702", "tableName":"test_user", "targetName":"prototype" } } }, "schemaName":"test20210702", "shadingTables":{}, "targetName":"prototype" } 其他配置均默认,schemas目录下的mysql.schema.json已删除 执行命令

D:\develop\mycat2.0\bin>mycat remove wrapper | mycat2 removed.

D:\develop\mycat2.0\bin>mycat install wrapper | mycat2 installed.

D:\develop\mycat2.0\bin>mycat status wrapper | The mycat2 Service is installed. wrapper | Start Type: Automatic wrapper | Interactive: No wrapper | Running: No

D:\develop\mycat2.0\bin>mycat start wrapper | Starting the mycat2 service... wrapper | mycat2 started.

D:\develop\mycat2.0\bin>mycat status wrapper | The mycat2 Service is installed. wrapper | Start Type: Automatic wrapper | Interactive: No wrapper | Running: Yes

D:\develop\mycat2.0\bin>mycat status wrapper | The mycat2 Service is installed. wrapper | Start Type: Automatic wrapper | Interactive: No wrapper | Running: No

执行环境 SqlServer 2016 Windows Server 2012 mycat安装运行 win10

FletcherDD avatar Jul 06 '21 03:07 FletcherDD

需要一个mysql服务器或者配置一个集群名字充当原型库(prototype)

junwen12221 avatar Jul 06 '21 06:07 junwen12221

https://www.yuque.com/ccazhw/ml3nkf/fb2285b811138a442eb850f0127d7ea3

架构里面需要一个原型库(mysql)

junwen12221 avatar Jul 06 '21 06:07 junwen12221

https://www.yuque.com/ccazhw/ml3nkf/fb2285b811138a442eb850f0127d7ea3

架构里面需要一个原型库(mysql)

我现在还有一台mysql服务器,那么prototype该怎么配置,文档中好像没有相关配置说明

FletcherDD avatar Jul 06 '21 06:07 FletcherDD

在安装包里面有一个prototype.cluster.json

junwen12221 avatar Jul 06 '21 06:07 junwen12221

先保证mysql下能启动,并设置表,确认无误后再把存储节点换成sqlserver

junwen12221 avatar Jul 06 '21 06:07 junwen12221

在安装包里面有一个prototype.cluster.json

在prototype.cluster.json中怎么配置prototype服务器?好像只能配置主从数据库 datasource中数据源改成mysql的服务器后可以正常启动,之后换成SqlServer依然报错

FletcherDD avatar Jul 06 '21 07:07 FletcherDD

prototype必须是mysql服务器,其他集群或者数据源可以是任意数据源,非mysql集群要把集群的心跳配置去掉

"heartbeat":{ "heartbeatTimeout":1000, "maxRetryCount":3,//2021-6-4前是maxRetry,后更正为maxRetryCount "minSwitchTimeInterval":300, "slaveThreshold":0 },

junwen12221 avatar Jul 06 '21 07:07 junwen12221

prototype必须是mysql服务器,其他集群或者数据源可以是任意数据源,非mysql集群要把集群的心跳配置去掉

"heartbeat":{ "heartbeatTimeout":1000, "maxRetryCount":3,//2021-6-4前是maxRetry,后更正为maxRetryCount "minSwitchTimeInterval":300, "slaveThreshold":0 },

现在我需要用的是SqlServer作为数据库服务器,应该怎么把mysql服务器作为prototype加到配置中?

FletcherDD avatar Jul 06 '21 08:07 FletcherDD

默认就是mysql作为prototype服务器

junwen12221 avatar Jul 06 '21 08:07 junwen12221

image

junwen12221 avatar Jul 06 '21 08:07 junwen12221

默认就是mysql作为prototype服务器

比如我datasources目录下配置mysql数据源mysql.datasource.json和sqlserver数据源sqlserver.datasource.json 那么clusters目录下的prototype.cluster.json该怎么配置 "masters":[ "mysql" ], "replicas":[ "sqlserver" ]

"masters":[ "sqlserver" ], "replicas":[ "mysql" ]

"masters":[ "mysql","sqlserver" ]

FletcherDD avatar Jul 06 '21 08:07 FletcherDD

"masters":[ "mysql" ], "replicas":[

]

junwen12221 avatar Jul 06 '21 08:07 junwen12221

"masters":[ "mysql" ], "replicas":[

]

这样启动时仍然有java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver的报错 sqlserver也并没有加入进去的样子,连接mycat执行sql语句创建了一个库,mysql服务器会有,但sqlserver服务器没有创建这个库

FletcherDD avatar Jul 06 '21 08:07 FletcherDD

com.microsoft.sqlserver.jdbc.SQLServerDriver 这个驱动需要自己加入,放在lib文件夹下面.

非mysql数据源,建物理表需要自己处理,所以你可以使用mysql的服务器建好了,再切换到sqlserver数据源(通过mycat直接建库建表生成的sql建库建表是mysql方言的,在sqlserver上面报错)

junwen12221 avatar Jul 06 '21 08:07 junwen12221

com.microsoft.sqlserver.jdbc.SQLServerDriver 这个驱动需要自己加入,放在lib文件夹下面.

非mysql数据源,建物理表需要自己处理,所以你可以使用mysql的服务器建好了,再切换到sqlserver数据源(通过mycat直接建库建表生成的sql建库建表是mysql方言的,在sqlserver上面报错)

将微软最新的sqljdbc42.jar包放到lib目录下后,启动时报错警告,但也能运行起来 INFO | jvm 1 | 2021/07/06 16:52:00 | [WrapperSimpleAppMain] WARN io.mycat.config.ConfigPrepareExecuter - try readXARecoveryLog INFO | jvm 1 | 2021/07/06 16:52:00 | com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'if' 附近有语法错误。 INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217) INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1635) INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:426) INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:372) INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:6276) INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1794) INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:184) INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:159) INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:315) INFO | jvm 1 | 2021/07/06 16:52:00 | at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeUpdate(DruidPooledPreparedStatement.java:255) INFO | jvm 1 | 2021/07/06 16:52:00 | at com.alibaba.druid.util.JdbcUtils.executeUpdate(JdbcUtils.java:713) INFO | jvm 1 | 2021/07/06 16:52:00 | at cn.mycat.vertx.xa.impl.XaLogImpl.readXARecoveryLog(XaLogImpl.java:202) INFO | jvm 1 | 2021/07/06 16:52:00 | at cn.mycat.vertx.xa.impl.XaLogImpl.readXARecoveryLog(XaLogImpl.java:195) INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.config.ConfigPrepareExecuter.commit(ConfigPrepareExecuter.java:387) INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.config.FileMetadataStorageManager.commitAndSyncDisk(FileMetadataStorageManager.java:346) INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.config.FileMetadataStorageManager$1.commit(FileMetadataStorageManager.java:250) INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.config.FileMetadataStorageManager.start(FileMetadataStorageManager.java:209) INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.config.FileMetadataStorageManager.start(FileMetadataStorageManager.java:204) INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.MycatCore.start(MycatCore.java:222) INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.MycatCore.main(MycatCore.java:235) INFO | jvm 1 | 2021/07/06 16:52:00 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) INFO | jvm 1 | 2021/07/06 16:52:00 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) INFO | jvm 1 | 2021/07/06 16:52:00 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) INFO | jvm 1 | 2021/07/06 16:52:00 | at java.lang.reflect.Method.invoke(Method.java:498) INFO | jvm 1 | 2021/07/06 16:52:00 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240) INFO | jvm 1 | 2021/07/06 16:52:00 | at java.lang.Thread.run(Thread.java:748)

在mysql、sqlserver建了相同的物理表,连接mycat执行插入语句后,mysql相应的表中有插入这些数据,sqlserver中没有

FletcherDD avatar Jul 06 '21 09:07 FletcherDD

{ "dbType": "sqlserver", "idleTimeout": 60000, "initSqls": [], "initSqlsGetConnection": true, "instanceType": "READ_WRITE", "maxCon": 1000, "maxConnectTimeout": 3000, "maxRetryCount": 5, "minCon": 1, "name": "prototype", "password": "123456", "type": "JDBC", "url": "jdbc: ..... "user": "root", "weight": 0 }

dbType设置成sqlserver再看看,如果能查询但是插入语句有问题,应该有其他报错的

junwen12221 avatar Jul 06 '21 09:07 junwen12221

{ "dbType": "sqlserver", "idleTimeout": 60000, "initSqls": [], "initSqlsGetConnection": true, "instanceType": "READ_WRITE", "maxCon": 1000, "maxConnectTimeout": 3000, "maxRetryCount": 5, "minCon": 1, "name": "prototype", "password": "123456", "type": "JDBC", "url": "jdbc: ..... "user": "root", "weight": 0 }

dbType设置成sqlserver再看看,如果能查询但是插入语句有问题,应该有其他报错的

启动时还是一样的报错警告,执行插入语句也一样,是不是没连接上sqlserver服务器

FletcherDD avatar Jul 06 '21 09:07 FletcherDD

这是最新的1.19吗,你测试一下查询是否正常

junwen12221 avatar Jul 06 '21 09:07 junwen12221

这是最新的1.19吗,你测试一下查询是否正常

是mycat2-1.19-jar-with-dependencies-2021-7-3.jar 查询正常,插入只影响了mysql服务器的数据库

FletcherDD avatar Jul 06 '21 09:07 FletcherDD

有其他错误日志吗

junwen12221 avatar Jul 06 '21 09:07 junwen12221

有其他错误日志吗

只有那一个“关键字 'if' 附近有语法错误。“

还有一个警告是启动时log4j的 INFO | jvm 1 | 2021/07/06 17:15:47 | [WrapperSimpleAppMain] DEBUG io.netty.util.NetUtil - Failed to get SOMAXCONN from sysctl and file \proc\sys\net\core\somaxconn. Default: 200 INFO | jvm 1 | 2021/07/06 17:15:48 | log4j:WARN No appenders could be found for logger (com.alibaba.druid.pool.DruidDataSource). INFO | jvm 1 | 2021/07/06 17:15:48 | log4j:WARN Please initialize the log4j system properly. INFO | jvm 1 | 2021/07/06 17:15:48 | log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

FletcherDD avatar Jul 06 '21 09:07 FletcherDD

上面贴的那些错是正常的,一个是无法执行mysql xa恢复,其余的都是警告,现在看插入数据为啥报错,估计是自增主键获取不了,你可以试试update或者delete语句

junwen12221 avatar Jul 06 '21 09:07 junwen12221

上面贴的那些错是正常的,一个是无法执行mysql xa恢复,其余的都是警告,现在看插入数据为啥报错,估计是自增主键获取不了,你可以试试update或者delete语句

update和delete也一样,mysql的表正常,sqlserver的表没有影响,也没有报错

FletcherDD avatar Jul 06 '21 09:07 FletcherDD

http://dl.mycat.org.cn/2.0/1.19-release/no-autogeneratekeys/

试试这个,不行就得看具体环境看源码哪里有问题

junwen12221 avatar Jul 06 '21 09:07 junwen12221

http://dl.mycat.org.cn/2.0/1.19-release/no-autogeneratekeys/

试试这个,不行就得看具体环境看源码哪里有问题

和之前一样,感觉没连接上sqlserver服务器

FletcherDD avatar Jul 06 '21 10:07 FletcherDD

之前有人用过sqlsevrer与 mysql联合查询,但是插入没有用过

junwen12221 avatar Jul 06 '21 11:07 junwen12221

之前有人用过sqlsevrer与 mysql联合查询,但是插入没有用过

这里allMatchMySQL=false也调用了readXARecoveryLog,里面的sql语句在sqlserver报错了 QQ图片20210709144647

FletcherDD avatar Jul 09 '21 06:07 FletcherDD

这个不影响

junwen12221 avatar Jul 09 '21 10:07 junwen12221