openfire 连接sqlserver 2008 的一个问题
由于本人的笨拙,搞了一天才终于搞好,说实在的问题归根结底还是在sql上,要相信openfire是没问题的。好了,不瞎扯了,说正题。
本人的机器环境为:win7、sqlserver 2008、jdk1.6(即SE 6.0),用的openfire是我写此文章时最新的3.9.1版本,我下载的sqljdbc驱动是目前最新的sqlserver jdbc 4.0版本。
sqljdbc4.0驱动微软下载地址(微软的下载网站打开真是慢的一笔):http://www.microsoft.com/zh-CN/download/details.aspx?id=11774
下载后按网上的教程搭建openfire服务器,用自带的嵌入式数据库一路配置是木有问题的。新手可参照: http://www.cnblogs.com/hoojo/archive/2012/05/17/2506769.html
配置成功后可用 spark 测试一下,今天正好找到一个简单讲解 spark使用的文章,里面还讲解了怎么安装插件: http://www.cnblogs.com/hannover/archive/2008/12/01/1345251.html
一切顺利,可本人要用sqlserver 数据库的啊,其他的暂时不懂啊。于是重置openfire服务器,准备改为sqlserver 数据库配置方式。那顺便说一下如何重置openfire呢,很简单,先停止openfire 服务,然后找到路径 *\openfire\conf\openfire.xml 文件中的
按照步骤走到——数据库设置——选择“标准数据库连接”,继续,进入数据库设置页。
如上图的提示,当你失败时偶尔会出现openfire自带的提示方式,有人说不需要自己下载sqljdbc因为openfire自带了与sqlserver数据库的连接驱动,但我按它的方式没有成功;咨询之下又有人说要自己下载sqljdbc,于是我就自己下载了,我下载的是那个压缩包,解压后找到 sqljdbc4.jar复制一份,为了保险起见,在openfire 安装目录的lib目录下粘贴一份,同时在 jdk安装目录的 *\lib\ext 目录下也粘贴一份。。。回到我们上图的数据库连接设置页面,做如下修改:
jdbc驱动程序类:com.microsoft.sqlserver.jdbc.SQLServerDriver
数据库url:jdbc:sqlserver://localhost;DataBaseName=openfire
以上两种填写方式都是sqljdbc 2.0以后的标准填写方式,此处localhost只是sqlserver的服务器名,我建议基础不好的可以像我一样先用localhost测试,成功后再尝试ip或其他远程方式,注意localhost后边带的是;而不是,。(网上很多带 端口号1433的讲解,但本人菜,调不出又看不懂。。。。)
以上步骤都正确的话,此时error.txt如果还报错那应该是数据库连接错误的提示,而非用openfire自带驱动连接方式报的错了。我先用 (local) 的 “sql server 身份验证”方式直接登录数据库,发现也是登录不上的,我记得以前是可以的,所以肯定是sqlserver 本身哪里配置错了。
在开始菜单中找到 “sqlserver 配置管理器”(sql2005中记得不叫这个名字,忘了,不知道的自己查查),打开“sqlserver 配置管理器”:
选择 mssqlserver的协议,将tcp/ip 设置为启用。建议sqlserver 2008不要修改sqlexpress的协议,我这边修改掉“sqlexpress的协议”的tcp/ip后会出现一些其它错误。
修改成启动后,双击tcp/ip选项,打开 “tcp/ip 属性” 选项卡 ,选择ip地址 选项页,找到 ip地址为(127.0.0.1)的属性,将其“已启用”改为“是”,(同理,如果想要配置其他ip也可以这么修改。)
点击左侧 “sqlserver 服务”,依次右键——>重新启动 右侧标出的这三个服务,现在去sql 登录应该可以成功啦~~~
sql成功后说明 (local) 账号用 “sql server 身份验证” 方式登录没问题了,回到openfire 数据库配置界面,填入刚才上面提到的值,继续,是不是ok了呢?
本人的已正常运行~~~~
测试通过能连接,然后才可以进行其它的连接方式,比如ip连接,远程网路连接等~~~~
祝大家好运~~~~
个人小站欢迎来踩:驾校教练评价平台 | 为爱豆砌照片墙