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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
没秒懂! 具体在通过 getProperty 后得到的数据有何不同?
不科学啊 mysql 你咋读取成功了
回复
这个我没有看你的封装的包,但是确实是这样了,我这里,就是getProperty("url")这里有问题,其他的好着。
回复
建议您可以下载一个sqlserver2014尝试测试下。
回复
12我在你群里,哈哈。确实mysql没遇到这个问题,sqlserver2014就有了
我知道了,sqlserver版本2014,new DruidPlugin(getProperty("jdbcUrl.bireport")这句话,这样写不对,这样写就对,DruidPlugin("jdbc:sqlserver://10.102.34.80:1433;DatabaseName=BIREPORT...也就是说将url直接写进去,也就是getProperty()方法在解析有bug,请知悉波波!
我知道了,sqlserver版本2014,new DruidPlugin(getProperty("jdbcUrl.bireport")这句话,这样写不对,这样写就对,DruidPlugin("jdbc:sqlserver://10.102.34.80:1433;DatabaseName=BIREPORT...也就是说将url直接写进去,也就是getProperty()方法在解析有bug,请...
druidPlugin.setValidationQuery("select 1 FROM DUAL"); 这句话也是不对的 sqlserver用select 1 就好了
我本地telnet 10.102.36.248 1433成功。防火墙全部关闭了。控制面板tcp协议端口全部打开,还是这样的错误,我写一个方法,使用jdbc去连接确可以成功,怎么回事?连接mysql没有问题
回复
把这一行注掉试试:druidPlugin.setFilters("stat,wall");
@JFinal DruidPlugin druidPlugin = new DruidPlugin(getProperty("jdbcUrl").trim(), getProperty("user").trim(), getProperty("password").trim(), getProperty("jdbc.bireport.driverClassName").trim()); ...
@JFinal 没效果