`
canofy
  • 浏览: 829775 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
社区版块
存档分类
最新评论

切换数据库的小经历

    博客分类:
  • j2EE
阅读更多
切换数据库的历程

原因:开始说好用mysql的,后来部署工程的时候换了一个人,因此变成了sql server2005,因此得修改程序

问题:数据库变换之后,dao层使用了mysql相关的语句以及hibernate配置文件还是使用的mysql的配置。

解决办法:
1.使用了分页功能,因为涉及到统计表的查询,因此原dao里面写的是sql = sql + " LIMIT " + start + " , " + pageSize; 使用的是mysql特定的语句,用sql server2005之后需要修改这个语句,修改如下:
sql="SELECT * ,ROW_NUMBER() Over(order by id DESC) as rowNum FROM ( "+sql+" ) as myTable ";
sql="SELECT * FROM ( "+sql+" ) as t where rowNum between "+start+" and "+(start+pageSize);
2.再修改hibernate的配置文件,即:hibernate.cfg.xml,最初修改为如下所示:
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<property name="connection.url">jdbc:microsoft:sqlserver://192.168.0.251:1433;DatabaseName=stlog</property>
<property name="connection.username">ad</property>
<property name="connection.password">123</property>
<property name="connection.driver_class">
com.microsoft.jdbc.sqlserver.SQLServerDriver
</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
3.修改hibernate配置文件之后运行程序,出现TUser.hbm.xml和数据库映射不了,提示stlog.t_user不存在,辗转分析之后才知道原来TUser.hbm.xml中<class name="domain.TUser" table="t_user" catalog="stlog">是这样,需要改为<class name="domain.TUser" table="t_user" schema="dbo" catalog="stlog">这样,增加了schema="dbo"。



4.修改为这样出Can't start a cloned connection while in manual transaction mode.错误,因此参照网上把url修改为jdbc:microsoft:sqlserver://192.168.0.251:1433;DatabaseName=stlog;SelectMethod=Cursor
参考:http://blog.csdn.net/ivan_zhang_blog/archive/2007/04/20/1572038.aspx

5.奇怪的是这一次出"[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 1 (""): 数据类型 0x38 未知。"这个错误。最后没有办法,参考了一下其它的工程的链接方法,最后修改为:
<property name="myeclipse.connection.profile">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
<property name="connection.url">jdbc:jtds:sqlserver://localhost:1433;DatabaseName=stlog;SelectMethod=Cursor</property>
<property name="connection.username">mobile</property>
<property name="connection.password">Woncore!23</property>
<property name="connection.driver_class">
net.sourceforge.jtds.jdbc.Driver
</property>
使用了jtds-1.2.jar包。
分享到:
评论

相关推荐

    淘宝数据库这5年

    在过去的五年中,淘宝数据库经历了从Oracle到MySQL再到NoSQL的转变,这是整个业界关注的焦点。这个过程不仅仅是技术的更迭,更体现了商业需求、成本控制以及技术发展趋势对大型互联网企业数据库策略的影响。 首先,...

    数据库方面工作招聘信息

    高可用性数据库设计也是DBA关注的重点,这可能涉及复制技术,以实现数据冗余和故障切换。 【市场项目管理/数据库营销】 在市场项目管理中,数据库营销利用数据驱动决策,通过对客户行为、偏好和购买历史的分析来...

    数据库管理助手(作者:桂林老兵) 免安装

    这意味着用户无需经历繁琐的安装过程,只需下载压缩包内的“数据库管理助手.exe”文件,即可直接运行,大大节省了时间和系统资源,尤其适合那些经常需要在不同设备间切换工作的用户。 对于Access数据库的支持,意味...

    Alibaba数据库运维最佳实践

    阿里巴巴作为全球领先的电商平台,在其发展过程中,数据库技术经历了从PC服务器到小型机、从集中式Oracle数据库到分布式MySQL数据库的重大转变。这一过程伴随着“成长的烦恼”: - **从PC服务器到小型机**:随着...

    数据库课程设计(DB2)

    8. **数据库的高可用性**:理解DB2的高可用性特性,如镜像、集群和故障切换,这些在企业环境中确保不间断服务至关重要。 9. **数据库维护**:定期的数据库维护工作,如空间管理、日志清理、统计信息更新,对保持...

    金融行业数据库架构变迁.pdf

    金融行业的数据库架构经历了长期的发展和演变,以适应不断增长的数据量、复杂的应用需求以及日益严格的法规遵从性。在2016年的背景下,DBA(数据库管理员)的角色显得尤为重要,他们不仅要关注数据库的安全性、标准...

    数据库查看工具

    - 连接管理:可以保存和管理多个数据库连接信息,方便切换使用。 - 数据同步:对于多用户环境,工具可能包含同步功能,保证数据一致性。 4. **在实际应用中的价值**: - 开发人员:在开发过程中,快速测试数据库...

    DB2 通用数据库性能调整的常用方法

    当数据库经历大规模的数据变更,如大量的插入、更新或删除操作后,统计信息可能会变得过时,导致优化器基于错误的假设做出决策,进而影响查询性能。 **适时更新数据统计信息**: - 在批量导入数据并创建索引后。 -...

    5.4空间数据库管理系统.pdf

    总的来说,空间数据库管理系统经历了从分离管理到混合管理,再到全关系型和对象关系型的演变,不断优化空间数据的存储、检索和处理能力,以满足GIS应用的需求。这些系统为地理信息的集成、分析和决策提供了强大支持...

    数据库工程ch1

    ### 数据库工程Ch1知识点详解 #### 1.1 Visual Studio .NET简介 - **.NET框架概述**:.NET框架是由微软公司在2000年提出的软件开发平台,旨在提供一套标准化的方法来构建和运行应用程序。.NET Framework 1.0作为首...

    阿里巴巴数据库分库分表的实践.docx

    总的来说,阿里巴巴的数据库分库分表实践经历了从Cobar到TDDL,再到DRDS的发展历程,这些技术方案的演进充分展示了阿里巴巴在面对大数据挑战时的技术创新能力,以及不断优化数据库性能和服务质量的决心。这些经验也...

    Oracle 9i 备用数据库配置使用参考

    备用数据库(Standby Database)是Oracle提供的一种高可用性解决方案,旨在通过日志同步技术确保主数据库和备用数据库之间的数据一致性,从而实现快速切换和灾难恢复的能力。自Oracle 7.3开始支持Standby Database...

    数据库基本知识和基础sql语句.doc

    1. 数据定义语言(DDL):用于创建、修改和删除数据库对象,如创建数据库`CREATE DATABASE`,查看所有数据库`SHOW DATABASES`,切换数据库`USE`,创建表`CREATE TABLE`,修改表结构`ALTER TABLE`,以及删除表`DROP ...

    工行分布式OLTP数据库选型实践.pptx

    随着工商银行对MySQL的采纳和应用,MySQL的使用量在2018年后经历了井喷式增长。为了应对数据库节点数量的增加,工行采用了容器化部署,提升了机房密度和服务器资源利用率。同时,他们构建了分布式数据库中间件架构,...

    Oracle数据库维护培训.rar

    主数据库的所有更改都会被实时复制到备用数据库,这样在主数据库出现问题时,可以迅速切换到备用数据库,最大程度减少服务中断。 通过深入学习和实践Oracle数据库的这些关键知识点,您可以提升数据库的管理能力,...

    藏经阁-互联网架构转型中的数据库实践.pdf

    数据是企业核心资产,如何提高数据库容灾能力业务由简单到复杂,数据量由小到大,如何提升扩展性DBA能力/人力没有跟上业务高速发展核心数据共享,异构数据共享互联网数据库发展经历的痛点集中存储垂直拆分水平拆分...

    唱吧数据库系统架构的变迁之路

    - **监控与报警机制**:建立了从库监控机制,可以自动检测从库的状态,并通过HAProxy实现从库的自动切换。 #### 总结 唱吧数据库系统的变迁之路充分展示了在面对业务快速发展和技术挑战时,如何灵活调整和优化架构...

    oracle 数据库.docx

    - **起源与发展**:由拉里·埃里森等人于1977年创立,从最初的Oracle 2到当前的Oracle 19c,经历了多个版本的迭代升级。 - **持续创新**:每个版本都引入了新的技术和功能,以适应市场和技术的变化。 #### 五、...

    金融级数据库容灾技术报告(2021年).pdf

    在数据库容灾技术方面,报告涵盖了数据备份与恢复、数据同步与传输、故障自动切换、分布式事务容灾、应用应激防护等多个方面。这些技术通过科学的方法,确保在灾难发生时,系统能够快速地恢复到一个可运行的状态,...

Global site tag (gtag.js) - Google Analytics