org.eclipse.ui.decorators得用法

本文介绍如何在Eclipse中使用Decorators为TreeViewer的节点添加警告和错误图标,并详细解释了配置文件的写法及必要的接口实现。
   <extension
         
point="org.eclipse.ui.decorators">
      
<decorator
            
icon="icons/warning_small.gif"
            id
="cnooc.rcp.decorator.node.warning"
            label
="Data Warning Decorator"
            lightweight
="true"
            location
="BOTTOM_LEFT"
            state
="true">
         
<enablement>
            
<and>
               
<objectClass name="com.eplat.cnooc.rcp.node.INode"/>
               
<objectState
                     
name="hasWarning"
                     value
="true"/>
            
</and>
         
</enablement>
      
</decorator>
      
<decorator
            
icon="icons/error_small.gif"
            id
="cnooc.rcp.decorator.node.error"
            label
="Data Error Decorator"
            lightweight
="true"
            location
="BOTTOM_LEFT"
            state
="true">
         
<enablement>
            
<and>
               
<objectClass name="com.eplat.cnooc.rcp.node.INode"/>
               
<objectState
                     
name="hasError"
                     value
="true"/>
            
</and>
         
</enablement>
      
</decorator>
   
</extension>
 
INode是TreeViewer里面节点得对象.
Viewer设置LabelProvider时需要如下:
        viewer.setLabelProvider(new DecoratingLabelProvider(new ViewLabelProvider(), Activator.getDefault().getWorkbench()
                .getDecoratorManager().getLabelDecorator()));

写了这个以后还没完, 需要让INode实现IActionFilter接口. eclipse得API中说要么实现IActionFilter接口, 要么实现IAdapter接口, 如果实现后者得话, 系统会调用getAdapter()方法. 不过我还是选择前者.
    /**
     * (non-Javadoc)
     * 
     * 
@see org.eclipse.ui.IActionFilter#testAttribute(java.lang.Object, java.lang.String, java.lang.String)
     
*/

    
public boolean testAttribute(Object target, String name, String value) {
        
if (name.equals("hasWarning")) {
            
return !getProblems().hasError() && getProblems().hasWarning();
        }
 else if (name.equals("hasError")) {
            
return getProblems().hasError();
        }

        
return false;
    }

意思应该比较明显得, 如果有warning并且没有error得时候warning得decorator生效. 如果有error则error得decorator生效. name参数对应得就是objectState得name参数. value参数对应得objectState得value参数. target参数就是viewer中得节点对象, 不过由于INode实现了IActionFilter接口, 因此这里得target就是this了.
一般来说需要判断得就是根据name获取得值是否等于value, 等于返回true, 否则返回false. 不过这里我不需要判断这个了, 直接根据当前状态返回就好了.
按照eclipse得原理, 理论上应该INode变化以后viewer就会跟着变化, 但是我实验下来有时候好有时候不好.
因此在Editor得verify方法里增加了下面得逻辑:
    /**
     * 校验数据
     * 
     * 
@return
     
*/

    
private boolean verify() {
                
//校验数据
                
//不管是否有error或者warning都需要通知向导树刷新一下节点.
        ExplorerView view = (ExplorerView) getSite().getPage().findView(ExplorerView.class.getName());
        view.refresh((INode) getEditorInput());

        
return true;
    }

现在好了, 只要执行verify方法, viewer就会刷新对应得节点, 以达到显示左下方小图标得目的.
六月 10, 2025 9:27:11 上午 org.apache.karaf.main.Main$KarafLockCallback lockAcquired 信息: Lock acquired. Setting startlevel to 100 六月 10, 2025 9:27:11 上午 org.apache.felix.fileinstall.internal.Util$DefaultLogger log 信息: Updating configuration {org.ops4j.pax.web} from D:\kettle9.3_77552\kettle9.3\system\karaf\etc\org.ops4j.pax.web.cfg 六月 10, 2025 9:27:11 上午 org.apache.felix.fileinstall.internal.Util$DefaultLogger log 信息: Updating configuration {org.ops4j.pax.web} from D:\kettle9.3_77552\kettle9.3\system\karaf\etc-spoon\org.ops4j.pax.web.cfg 六月 10, 2025 9:27:13 上午 org.apache.aries.spifly.BaseActivator log 信息: Registered provider org.eclipse.jetty.http.Http1FieldPreEncoder of service org.eclipse.jetty.http.HttpFieldPreEncoder in bundle org.eclipse.jetty.http 六月 10, 2025 9:27:13 上午 org.apache.aries.spifly.BaseActivator log 信息: Registered provider org.eclipse.jetty.security.jaspi.JaspiAuthenticatorFactory of service org.eclipse.jetty.security.Authenticator$Factory in bundle org.eclipse.jetty.security.jaspi 六月 10, 2025 9:27:13 上午 org.apache.aries.spifly.BaseActivator log 信息: Registered provider org.eclipse.jetty.websocket.common.extensions.identity.IdentityExtension of service org.eclipse.jetty.websocket.api.extensions.Extension in bundle org.eclipse.jetty.websocket.common 六月 10, 2025 9:27:13 上午 org.apache.aries.spifly.BaseActivator log 信息: Registered provider org.eclipse.jetty.websocket.common.extensions.fragment.FragmentExtension of service org.eclipse.jetty.websocket.api.extensions.Extension in bundle org.eclipse.jetty.websocket.common 六月 10, 2025 9:27:13 上午 org.apache.aries.spifly.BaseActivator log 信息: Registered provider org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension of service org.eclipse.jetty.websocket.api.extensions.Extension in bundle org.eclipse.jetty.websocket.common 六月 10, 2025 9:27:13 上午 org.apache.aries.spifly.BaseActivator log 信息: Registered provider org.eclipse.jetty.websocket.common.extensions.compress.DeflateFrameExtension of service org.eclipse.jetty.websocket.api.extensions.Extension in bundle org.eclipse.jetty.websocket.common 六月 10, 2025 9:27:13 上午 org.apache.aries.spifly.BaseActivator log 信息: Registered provider org.eclipse.jetty.websocket.common.extensions.compress.XWebkitDeflateFrameExtension of service org.eclipse.jetty.websocket.api.extensions.Extension in bundle org.eclipse.jetty.websocket.common 六月 10, 2025 9:27:13 上午 org.apache.aries.spifly.BaseActivator log 信息: Registered provider org.eclipse.jetty.websocket.jsr356.JettyClientContainerProvider of service javax.websocket.ContainerProvider in bundle org.eclipse.jetty.websocket.javax.websocket 六月 10, 2025 9:27:13 上午 org.apache.aries.spifly.BaseActivator log 信息: Registered provider org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer of service javax.servlet.ServletContainerInitializer in bundle org.eclipse.jetty.websocket.javax.websocket.server 六月 10, 2025 9:27:13 上午 org.apache.aries.spifly.BaseActivator log 信息: Registered provider org.eclipse.jetty.websocket.jsr356.server.ContainerDefaultConfigurator of service javax.websocket.server.ServerEndpointConfig$Configurator in bundle org.eclipse.jetty.websocket.javax.websocket.server 六月 10, 2025 9:27:13 上午 org.apache.aries.spifly.BaseActivator log 信息: Registered provider org.eclipse.jetty.websocket.server.NativeWebSocketServletContainerInitializer of service javax.servlet.ServletContainerInitializer in bundle org.eclipse.jetty.websocket.server 2025-06-10 09:27:13.941:INFO::FelixStartLevel: Logging initialized @10744ms to org.eclipse.jetty.util.log.StdErrLog 六月 10, 2025 9:27:14 上午 org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions 信息: Adding the extensions from bundle org.apache.cxf.cxf-rt-management (154) [org.apache.cxf.management.InstrumentationManager] 六月 10, 2025 9:27:14 上午 org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions 信息: Adding the extensions from bundle org.apache.cxf.cxf-rt-rs-service-description (159) [org.apache.cxf.jaxrs.model.wadl.WadlGenerator] 六月 10, 2025 9:27:14 上午 org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions 信息: Adding the extensions from bundle org.apache.cxf.cxf-rt-transports-http (161) [org.apache.cxf.transport.http.HTTPTransportFactory, org.apache.cxf.transport.http.HTTPWSDLExtensionLoader, org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder, org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder, org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider] 六月 10, 2025 9:27:14 上午 org.pentaho.caching.impl.PentahoCacheManagerFactory$RegistrationHandler$1 onSuccess 信息: New Caching Service registered 六月 10, 2025 9:27:14 上午 org.apache.cxf.transport.http.osgi.ServletExporter updated 信息: Registering new instance of "/cxf" servlet 2025-06-10 09:27:15.097:INFO:oejws.WebSocketServerFactory:CM Configuration Updater (ManagedService Update: pid=[org.apache.cxf.osgi]): No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 六月 10, 2025 9:27:15 上午 org.apache.cxf.endpoint.ServerImpl initDestination 信息: Setting the server's publish address to be /i18n 2025-06-10 09:27:15.235:INFO:oejs.session:CM Configuration Updater (ManagedService Update: pid=[org.apache.cxf.osgi]): DefaultSessionIdManager workerName=node0 2025-06-10 09:27:15.235:INFO:oejs.session:CM Configuration Updater (ManagedService Update: pid=[org.apache.cxf.osgi]): No SessionScavenger set, using defaults 2025-06-10 09:27:15.237:INFO:oejs.session:CM Configuration Updater (ManagedService Update: pid=[org.apache.cxf.osgi]): node0 Scavenging every 660000ms 2025-06-10 09:27:15.275:INFO:oejsh.ContextHandler:CM Configuration Updater (ManagedService Update: pid=[org.apache.cxf.osgi]): Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=org.apache.cxf.cxf-rt-transports-http [161], contextID=default]} 2025-06-10 09:27:15.286:INFO:oejs.Server:CM Configuration Updater (ManagedService Update: pid=[org.apache.cxf.osgi]): jetty-9.4.18.v20190429; built: 2021-06-30T11:07:22.254Z; git: 526006ecfa3af7f1a27ef3a288e2bef7ea9dd7e8; jvm 1.8.0_201-b09 2025-06-10 09:27:15.373:INFO:oejs.AbstractConnector:CM Configuration Updater (ManagedService Update: pid=[org.apache.cxf.osgi]): Started default@38cb3a36{HTTP/1.1, (http/1.1)}{0.0.0.0:9051} 2025-06-10 09:27:15.374:INFO:oejs.Server:CM Configuration Updater (ManagedService Update: pid=[org.apache.cxf.osgi]): Started @12178ms 2025-06-10 09:27:15.419:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:15.424:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-i18n-webservice-bundle [173], contextID=default]} 2025-06-10 09:27:16.466:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:16.478:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-pdi-platform [243], contextID=default]} 2025-06-10 09:27:17.578:INFO:oejws.WebSocketServerFactory:FelixDispatchQueue: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:17.582:INFO:oejsh.ContextHandler:FelixDispatchQueue: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=core-ui [260], contextID=default]} 2025-06-10 09:27:17.641:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:17.645:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=org.pentaho.requirejs-manager-impl [261], contextID=default]} 2025-06-10 09:27:17.657:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:17.659:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-angular [262], contextID=default]} 2025-06-10 09:27:17.671:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:17.675:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-angular-animate [263], contextID=default]} 2025-06-10 09:27:17.692:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:17.700:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-angular-i18n [264], contextID=default]} 2025-06-10 09:27:17.712:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:17.715:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-angular-sanitize [265], contextID=default]} 2025-06-10 09:27:17.727:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:17.730:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-angular-translate [266], contextID=default]} 2025-06-10 09:27:17.744:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:17.748:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-dojo [267], contextID=default]} 2025-06-10 09:27:17.760:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:17.762:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-require-css [268], contextID=default]} 2025-06-10 09:27:17.773:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:17.775:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-requirejs-text [269], contextID=default]} 2025-06-10 09:27:17.785:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:17.787:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-uirouter__angularjs [270], contextID=default]} 2025-06-10 09:27:17.845:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:17.849:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-uirouter__core [271], contextID=default]} 六月 10, 2025 9:27:17 上午 org.apache.cxf.endpoint.ServerImpl initDestination 信息: Setting the server's publish address to be /repositories 六月 10, 2025 9:27:17 上午 org.apache.cxf.endpoint.ServerImpl initDestination 信息: Setting the server's publish address to be /browser 六月 10, 2025 9:27:18 上午 org.apache.cxf.endpoint.ServerImpl initDestination 信息: Setting the server's publish address to be /browser-new 六月 10, 2025 9:27:18 上午 org.apache.cxf.endpoint.ServerImpl initDestination 信息: Setting the server's publish address to be /get-fields 六月 10, 2025 9:27:18 上午 org.apache.cxf.endpoint.ServerImpl initDestination 信息: Setting the server's publish address to be /connection 2025-06-10 09:27:18.269:INFO:oejws.WebSocketServerFactory:FelixDispatchQueue: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:18.281:INFO:oejsh.ContextHandler:FelixDispatchQueue: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=repositories-plugin-core [272], contextID=default]} 2025-06-10 09:27:18.460:INFO:oejws.WebSocketServerFactory:FelixDispatchQueue: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:18.466:INFO:oejsh.ContextHandler:FelixDispatchQueue: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=file-open-save-core [274], contextID=default]} 六月 10, 2025 9:27:18 上午 org.apache.cxf.endpoint.ServerImpl initDestination 信息: Setting the server's publish address to be /marketplace 2025-06-10 09:27:18.756:INFO:oejws.WebSocketServerFactory:FelixDispatchQueue: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:18.759:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:18.762:INFO:oejsh.ContextHandler:FelixDispatchQueue: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=file-open-save-new-core [276], contextID=default]} 2025-06-10 09:27:18.762:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-angular-route [280], contextID=default]} 2025-06-10 09:27:18.934:INFO:oejws.WebSocketServerFactory:FelixDispatchQueue: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:18.937:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:18.939:INFO:oejsh.ContextHandler:FelixDispatchQueue: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=get-fields-core [277], contextID=default]} 2025-06-10 09:27:18.939:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-angular-ui-bootstrap-bower [281], contextID=default]} 2025-06-10 09:27:19.321:INFO:oejws.WebSocketServerFactory:FelixDispatchQueue: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:19.324:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:19.325:INFO:oejsh.ContextHandler:FelixDispatchQueue: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=connections-ui [278], contextID=default]} 2025-06-10 09:27:19.328:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-jquery [282], contextID=default]} 2025-06-10 09:27:19.613:INFO:oejws.WebSocketServerFactory:FelixDispatchQueue: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:19.617:INFO:oejws.WebSocketServerFactory:FelixStartLevel: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:19.619:INFO:oejsh.ContextHandler:FelixStartLevel: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-webjars-underscore [283], contextID=default]} 2025-06-10 09:27:19.620:INFO:oejsh.ContextHandler:FelixDispatchQueue: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-marketplace-di [279], contextID=default]} 2025-06-10 09:27:19.652:INFO:oejws.WebSocketServerFactory:FelixDispatchQueue: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:19.656:INFO:oejsh.ContextHandler:FelixDispatchQueue: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-big-data-impl-connections-s3 [286], contextID=default]} 六月 10, 2025 9:27:19 上午 org.apache.cxf.endpoint.ServerImpl initDestination 信息: Setting the server's publish address to be /hadoop-cluster 2025-06-10 09:27:19.705:INFO:oejws.WebSocketServerFactory:FelixDispatchQueue: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:19.708:INFO:oejsh.ContextHandler:FelixDispatchQueue: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=pentaho-big-data-kettle-plugins-browse [287], contextID=default]} 2025-06-10 09:27:22.492:INFO:oejws.WebSocketServerFactory:FelixDispatchQueue: No DecoratedObjectFactory provided, using new org.eclipse.jetty.util.DecoratedObjectFactory[decorators=1] 2025-06-10 09:27:22.500:INFO:oejsh.ContextHandler:FelixDispatchQueue: Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=hadoop-cluster-ui [288], contextID=default]} Graphics2D from BufferedImage lacks BUFFERED_IMAGE hint 2025/06/10 09:27:27 - Carte - Installing timer to purge stale objects after 1440 minutes. 2025/06/10 09:27:46 - Spoon - Running transformation using the Kettle execution engine 2025/06/10 09:27:46 - Spoon - 转换已经打开. 2025/06/10 09:27:46 - Spoon - 正在打开转换 [DM_TO_MYSQL-T_MDJSGJZTK_C0402201]... 2025/06/10 09:27:46 - Spoon - 开始执行转换. 2025/06/10 09:27:47 - DM_TO_MYSQL-T_MDJSGJZTK_C0402201 - 为了转换解除补丁开始 [DM_TO_MYSQL-T_MDJSGJZTK_C0402201] 2025/06/10 09:27:48 - MySQL数据库表输出 9.0 - Connected to database [mysql] (commit=1000)
最新发布
06-11
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值