jfinal+druid+sqlserver

azura111 发布于 2016/04/22 13:44
阅读 1K+
收藏 0

@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


加载中
0
JFinal
JFinal
      应该是连不上数据库,例如 1433 端口被防火墙阻止等原因,异常信息还是比较清楚的:通过端口 1433 连接到主机 :10.102.36.248 的 TCP/IP 连接失败。错误:“null。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”
azura111
azura111
@JFinal 没效果
azura111
azura111
@JFinal DruidPlugin druidPlugin = new DruidPlugin(getProperty("jdbcUrl").trim(), getProperty("user").trim(), getProperty("password").trim(), getProperty("jdbc.bireport.driverClassName").trim()); ...
JFinal
JFinal
回复 @azura111 : 把这一行注掉试试:druidPlugin.setFilters("stat,wall");
azura111
azura111
我本地telnet 10.102.36.248 1433成功。防火墙全部关闭了。控制面板tcp协议端口全部打开,还是这样的错误,我写一个方法,使用jdbc去连接确可以成功,怎么回事?连接mysql没有问题
0
b
beastxiao
druidPlugin.setValidationQuery("select 1 FROM DUAL"); 这句话也是不对的 sqlserver用select 1 就好了
azura111
azura111
我知道了,sqlserver版本2014,new DruidPlugin(getProperty("jdbcUrl.bireport")这句话,这样写不对,这样写就对,DruidPlugin("jdbc:sqlserver://10.102.34.80:1433;DatabaseName=BIREPORT...也就是说将url直接写进去,也就是getProperty()方法在解析有bug,请...
0
azura111
azura111
我知道了,sqlserver版本2014,new DruidPlugin(getProperty("jdbcUrl.bireport")这句话,这样写不对,这样写就对,DruidPlugin("jdbc:sqlserver://10.102.34.80:1433;DatabaseName=BIREPORT...也就是说将url直接写进去,也就是getProperty()方法在解析有bug,请知悉波波!     
azura111
azura111
回复 @12叔 : 12我在你群里,哈哈。确实mysql没遇到这个问题,sqlserver2014就有了
azura111
azura111
回复 @JFinal : 建议您可以下载一个sqlserver2014尝试测试下。
azura111
azura111
回复 @JFinal : 这个我没有看你的封装的包,但是确实是这样了,我这里,就是getProperty("url")这里有问题,其他的好着。
12叔
12叔
不科学啊 mysql 你咋读取成功了
JFinal
JFinal
没秒懂! 具体在通过 getProperty 后得到的数据有何不同?
返回顶部
顶部