将Openfire与MS SqlServer集成

我最初发布这个在stackoverflow。 不知道这是属于Serverfault。 我相当熟悉serverfault vs stackoverflow的指导原则,但这是一个服务器问题,目标是要configuration我的XMPP开发环境。 任何build议stackoverflow vs serverfault也将不胜感激。

无论如何,这是我的问题

我正在尝试使用MS SQL Server 2008的实例来configuration我的Openfire服务器。

我必须承认,尽pipe我广泛使用了Sql Server,但是我仍然成功地使用了它,尽pipe我自己并不是专家(底线,你不应该假设我已经做了任何明显的configuration)。 如果有什么明显的错误,我也提前道歉,这是浪费时间的问题。

我的基本SQL信息/configuration

  • 服务器名称:PALBU \ PALBUSQL
  • 身份validation:Sql Server身份validation
  • login:sa
  • 密码:mypassword

这里是我的Openfire设置/屏幕截图

服务器设置

  • 域名:palbu

  • pipe理控制台端口:9090

  • 安全pipe理控制台端口:9091

我在“数据库设置”下select了“标准数据库连接”

数据库设置 – 标准连接

  • 数据库驱动程序预设:Microsoft SQLServer
  • JDBC驱动程序类:net.sourceforge.jtds.jdbc.Driver
  • 数据库URL:jdbc:jtds:sqlserver:// PALBU / PALBUSQL; appName = jive
  • 用户名:su
  • 密码:mypassword
  • 最低连接数:5
  • 最大连接数:25
  • 连接超时:1.0天

当我尝试连接时,我得到一个错误消息'无法build立数据库的连接您可以查看错误消息error.log'

这是error.log文件的输出

原型java.sql.SQLException:networking错误IOException:连接被拒绝:连接在net.sourceforge.jtds.jdbc.ConnectionJDBC2。(ConnectionJDBC2.java:385)在net.sourceforge.jtds.jdbc。 ConnectionJDBC3。(ConnectionJDBC3.java:50)at java.sql.DriverManager.getConnection(java.sql.DriverManager.getConnection(Unknown Source))net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:182)源)在org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39)在org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)在org.logicalcobwebs.proxool.Prototyper.sweep(Prototyper.java :102)at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:44)导致:java.net.ConnectException:连接被拒绝:在java.net上的java.net.PlainSocketImpl.socketConnect(Native Method)处连接。在java.net.PlainSocketImpl.connectToAddress(Unknown Source)上的PlainSocketImpl.doConnect(Unknown Source) 在sun.reflect.GeneratedMethodAccessor3.invoke(未知源)上的java.net.Socket.connect(未知源)在java.net.SocksSocketImpl.connect(未知源)在sun.reflect处t.PlainSocketImpl.connect(未知源)。在net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:304)处的net.sourceforge.jtds.jdbc.SharedSocket处的java.lang.reflect.Method.invoke(Unknown Source)处DelegatingMethodAccessorImpl.invoke(Unknown Source) (SharedSocket.java:255)at net.sourceforge.jtds.jdbc.ConnectionJDBC2。(ConnectionJDBC2.java:310)… 8 more

我试着改变我的DatabaseURL只显示我的服务器URL

  • 数据库URL:PALBU / PALBUSQL

我在数据库设置中收到了同样的错误,但在我的日志文件中收到了不同的输出。

2011.07.12 11:16:12 Prototype java.sql.SQLException: No suitable driver found for PALBURTUS/PALBURTUSSQL at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39) at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159) at org.logicalcobwebs.proxool.Prototyper.sweep(Prototyper.java:102) at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:44) 

似乎这个驱动程序缺less从默认的Openfire安装,但我不是很熟悉的SQL驱动程序,所以任何帮助,将不胜感激。

您的SQL服务器是否configuration为接受networking连接? 或者,它是在一个非标准的端口(默认是1433)? 或者,服务器上是否启用了基于主机的防火墙?

从这个错误信息看来,OpenFire服务器可以parsing名称,但是连接尝试被主动拒绝。

OpenFire需要一个jdbc连接string,所以可以预期你的第二次尝试失败。

它说在第一个日志中Connection refused 。 尝试从Openfire机器到SQL服务器端口进行telnet,看看是否可以打开连接。 如果没有,那么你可能想检查防火墙规则,并允许传入连接。

第二个日志只是告诉你,连接string是无效的,它不知道在哪里或如何连接。