开发者社区> 问答> 正文

jfinal+druid+sqlserver?报错

@JFinal 你好,想跟你请教个问题:我尝试使用jfinal+druid+sqlserver的时候,连接mysq没有问题,使用jdbc连接sqlserver也没有问题,但是在 public void configPlugin(Plugins me) {}中配置连接sqlserver就报错了,请帮我看下这个可能的原因。

我按照您在开源中国里面的那个给网友的写的;信息如下请指导下。

      DruidPlugin druidPlugin = new DruidPlugin(getProperty("jdbcUrl").trim(),       getProperty("user").trim(), getProperty("password").trim());
      druidPlugin.setFilters("stat,wall");
      druidPlugin.setValidationQuery("select 1 FROM DUAL");


      me.add(druidPlugin);
      // 配置ActiveRecord插件
      ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
      arp.setDialect(new SqlServerDialect());
      arp.setContainerFactory(new CaseInsensitiveContainerFactory());
      arp.setShowSql(true);
      me.add(arp);


#SQLSERVER------BIREPORT(数据仓库)10.102.36.248
jdbc.bireport.driverClassName = com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbcUrl  = jdbc:sqlserver://:10.102.36.248:1433;DatabaseName=bireport
user     = sf_bi_etl
password = Sf.Bi@Et1

严重: Exception starting filter jfinal
java.lang.RuntimeException: Plugin start error: com.jfinal.plugin.activerecord.ActiveRecordPlugin. 
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 :10.102.36.248 的 TCP/IP 连接失败。错误:“null。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
at com.jfinal.core.Config.startPlugins(Config.java:96)
at com.jfinal.core.Config.configJFinal(Config.java:48)
at com.jfinal.core.JFinal.init(JFinal.java:65)
at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4854)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5546)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1258)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1918)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: com.jfinal.plugin.activerecord.ActiveRecordException: com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 :10.102.36.248 的 TCP/IP 连接失败。错误:“null。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
at com.jfinal.plugin.activerecord.TableBuilder.build(TableBuilder.java:91)
at com.jfinal.plugin.activerecord.ActiveRecordPlugin.start(ActiveRecordPlugin.java:171)
at com.jfinal.core.Config.startPlugins(Config.java:87)
... 20 more


展开
收起
爱吃鱼的程序员 2020-06-09 15:40:17 881 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

       应该是连不上数据库,例如1433端口被防火墙阻止等原因,异常信息还是比较清楚的:<spanstyle="font-family:微软雅黑,Verdana,sans-serif,宋体;font-size:14px;line-height:22px;background-color:#FFFFFF;">通过端口1433连接到主机:10.102.36.248的TCP/IP连接失败。错误:“null。请验证连接属性,并检查SQLServer的实例正在主机上运行,且在此端口接受TCP/IP连接,还要确保防火墙没有阻止到此端口的TCP连接。”<atarget='_blank'>@JFinal没效果<atarget='_blank'>@JFinalDruidPlugindruidPlugin=newDruidPlugin(getProperty("jdbcUrl").trim(),getProperty("user").trim(),getProperty("password").trim(),getProperty("jdbc.bireport.driverClassName").trim());...回复<aclass='referer'target='_blank'>@azura111:把这一行注掉试试:druidPlugin.setFilters("stat,wall");我本地telnet10.102.36.2481433成功。防火墙全部关闭了。控制面板tcp协议端口全部打开,还是这样的错误,我写一个方法,使用jdbc去连接确可以成功,怎么回事?连接mysql没有问题<spanstyle="font-family:'MicrosoftYaHei',Verdana,sans-serif,宋体;font-size:14px;line-height:22px;background-color:#FFFFFF;">druidPlugin.setValidationQuery("select1FROMDUAL");这句话也是不对的sqlserver用select1就好了
    我知道了,sqlserver版本2014,newDruidPlugin(getProperty("jdbcUrl.bireport")这句话,这样写不对,这样写就对,DruidPlugin("jdbc:sqlserver://10.102.34.80:1433;DatabaseName=BIREPORT...也就是说将url直接写进去,也就是getProperty()方法在解析有bug,请...我知道了,sqlserver版本2014,newDruidPlugin(getProperty("jdbcUrl.bireport")这句话,这样写不对,这样写就对,DruidPlugin("jdbc:sqlserver://10.102.34.80:1433;DatabaseName=BIREPORT...也就是说将url直接写进去,也就是getProperty()方法在解析有bug,请知悉波波!    回复<aclass='referer'target='_blank'>@12叔:12我在你群里,哈哈。确实mysql没遇到这个问题,sqlserver2014就有了回复<aclass='referer'target='_blank'>@JFinal:建议您可以下载一个sqlserver2014尝试测试下。回复<aclass='referer'target='_blank'>@JFinal:这个我没有看你的封装的包,但是确实是这样了,我这里,就是getProperty("url")这里有问题,其他的好着。不科学啊mysql你咋读取成功了没秒懂!具体在通过getProperty后得到的数据有何不同?

    2020-06-09 15:40:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多