老平台迁移过程中出现的MSSQL数据库接连问题
2014-08-18 14:50
295 查看
公司的一较老的平台因为更换服务器要进行迁移,在自己接手后因为该平台不怎么使用就没管过它,但近段时间因为要更换服务器,需要把该服务迁移到新服务器上去,在迁移的过程中出现了一些问题。
该服务器因搭建较早,使用的是 win2003server,msserver2000的数据库,WEB服务器用的是resin2.1.13,新的服务器装的是win2008server,mserver2005,WEB服务器使用TOMCAT7,在数据库迁移过程中很顺利,没有发现什么问题,但发现启动了WEB之后没法访问,后来确定是WEB中的类对新的一些特性不支持。
没办法只能换成和原来resin版本一样的,配置也是用原来的,只是把web目录的路径改了一下,数据库的连接改了一下,想这样肯定没问题了,于是把WEB开启,页面没问题,登陆也没问题,但有些地方会报数据库连接错误
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 1 (""): 数据类型 0x38
未知。
在网上搜了一下,有的说是MSSERVER2000到MSSERVER2005升级过程中数据库的JDBC连接有变化,要用新的 数据库连接的JAR包,于是在微软的网官下载了一个:http://www.microsoft.com/zh-cn/download/details.aspx?id=21599
当时还有一个问题比较奇怪,同一个数据库为什么有的地可以连接,有的地不能连接呢,进到程序里查了一下才发现,原来同一个数据库用了两种不同的连接方式,一种JDBC,一种hibernate,怪不得连同一个库,有一个正常,有一个会出问题。
把微软官方的包下载了之后把 sqljdbc.jar文件拷贝到resin的lib目录下,并且把resin的配置文件中的数据库接接部分做了更改
原来:
<res-ref-name>jdbc/mssql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<init-param url="jdbc:microsoft:sqlserver://192.168.106.xx:1433;DatabaseName=xxxxxx"/>
更改后:
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<init-param url="jdbc:sqlserver://192.168.106.xx:1433;DatabaseName=xxxxxx"/>
重新启动WEB服务后,还是报错,提示数据库连接错误,查看错误提示,这次的提示比较
4000
明显
java.lang.UnsupportedOperationException: 此驱动程序不支持 Java Runtime Environment (JRE) 1.6 版。请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库。
直接把原来放到resin的lib目录的sqljdbc.jar删除,把微软官方下载包里的 sqljdbc4.jar放到 resin的lib目录下,后新启动 resin服务,WEB访问正常,数据库接接正常。
大功告成,收工!
over,over
转自:http://www.dba365.net/forum.php?mod=viewthread&tid=63&extra=page%3D1
该服务器因搭建较早,使用的是 win2003server,msserver2000的数据库,WEB服务器用的是resin2.1.13,新的服务器装的是win2008server,mserver2005,WEB服务器使用TOMCAT7,在数据库迁移过程中很顺利,没有发现什么问题,但发现启动了WEB之后没法访问,后来确定是WEB中的类对新的一些特性不支持。
没办法只能换成和原来resin版本一样的,配置也是用原来的,只是把web目录的路径改了一下,数据库的连接改了一下,想这样肯定没问题了,于是把WEB开启,页面没问题,登陆也没问题,但有些地方会报数据库连接错误
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 1 (""): 数据类型 0x38
未知。
在网上搜了一下,有的说是MSSERVER2000到MSSERVER2005升级过程中数据库的JDBC连接有变化,要用新的 数据库连接的JAR包,于是在微软的网官下载了一个:http://www.microsoft.com/zh-cn/download/details.aspx?id=21599
当时还有一个问题比较奇怪,同一个数据库为什么有的地可以连接,有的地不能连接呢,进到程序里查了一下才发现,原来同一个数据库用了两种不同的连接方式,一种JDBC,一种hibernate,怪不得连同一个库,有一个正常,有一个会出问题。
把微软官方的包下载了之后把 sqljdbc.jar文件拷贝到resin的lib目录下,并且把resin的配置文件中的数据库接接部分做了更改
原来:
<res-ref-name>jdbc/mssql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<init-param url="jdbc:microsoft:sqlserver://192.168.106.xx:1433;DatabaseName=xxxxxx"/>
更改后:
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<init-param url="jdbc:sqlserver://192.168.106.xx:1433;DatabaseName=xxxxxx"/>
重新启动WEB服务后,还是报错,提示数据库连接错误,查看错误提示,这次的提示比较
4000
明显
java.lang.UnsupportedOperationException: 此驱动程序不支持 Java Runtime Environment (JRE) 1.6 版。请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库。
直接把原来放到resin的lib目录的sqljdbc.jar删除,把微软官方下载包里的 sqljdbc4.jar放到 resin的lib目录下,后新启动 resin服务,WEB访问正常,数据库接接正常。
大功告成,收工!
over,over
转自:http://www.dba365.net/forum.php?mod=viewthread&tid=63&extra=page%3D1
相关文章推荐
- 关于mssql附加数据库出现的问题,错误 5172 :文件‘xxx’的文件头不是有效的数据库文件头。file size不正确。
- (转载)MSSQL:Sql server2012连接Sql server 2008时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误。(provider:SSL Provider,error:0-接收到的消息异常,或格式不正确。) - Empty.
- 抓取Android平台数据包之tcpdump 工具的使用过程中出现的问题
- 在windows xp下使用dbca创建数据库过程中出现的问题及解决方法
- Zend Framework 连接 MSSQL数据库遇到的问题及解决过程
- MSSQL数据库迁移之用户名问题
- Windows 安腾平台到Windows x86平台的数据库迁移问题
- Mysql 数据库迁移后出现的视图权限问题(definer,invoker)
- ccs平台 28335mcu 编程过程中出现RAM不够的问题,修改.cmd文件扩容
- 在控制器中添加过滤器,解决中文由jsp到action进而到数据库传输过程中出现的乱码问题(Struts)
- MSSQL数据库迁移之用户名问题
- 使用iMatrix平台做项目时出现数据库中没有生成对应的表问题如何解决?
- 文件管理器和mediastore数据库同步过程中出现的问题
- 迁移数据库后出现异常情况,存储过程不能用
- EntityFramework Core迁移时出现数据库已存在对象问题解决方案
- eclipse从数据库逆向生成Hibernate实体类过程中出现read schema error:null的问题
- SpringMVC开发过程中配置了拦截器数据库还会出现中文乱码问题
- ireport连接数据库、工具使用过程出现的问题及解决方法
- QT 程序发布或迁移过程中出现的问题及解决方法
- 在迁移数据库的过程中SQLServer SDE的问题