都是JDBC-ODBC惹得祸

使用JDBC-ODBC 方式如何连接MySQL数据库 使用JDBC-ODBC 方式如何连接MySQL数据库 Java视频教程下载                    Java培训                 Java  JDBC-ODBC Bridge 是JDBC 连接驱动类型的第一种,开放数据库互连 (Open Database Connectivity,ODBC)是微软公司开放服务结构中有关  数据库的一个组成部分, 阅读详情

前阵子的一个项目需要使用SQL2K作为后台数据库,本人一向认为Java配合MS SQL不是一个好选择,但往往也有不得不这么做的时候。一直听说MS的JDBC驱动不怎么样,所以我的第一反应是使用JDBC-ODBC桥,这样不用为项目添加额外的jar(其实是个很奇怪的理由,估计当时神游了,没怎么考虑)。系统使用了Hibernate 3.1.3和Spring Framework 2.0 RC2。

考虑到减少持久化层的开发,当然是使用工具从现有的数据库生成Hibernate的PO和DAO。但是在生成时发生了点意外,使用JDBC-ODBC桥竟然无法导出。。。无奈,只能暂时用下MS的驱动进行生成,其实这时就该醒悟了,放弃JDBC-ODBC,不过当时没怎么在意,以为在使用时不会有问题。

真正的问题发生在使用Hibernate保存修改时,保存使用了Spring的HibernateTemplate,主要是saveOrUpdate方法。在测试时我发现所有被修改或新增记录的字符型字段全被用空格填满了,比如:name varchar(10),在页面上我只输了"abc",可数据库中保存的却是"abc       "。起初我觉得是MultiActionController里取回表单数据时出问题了,但我一路追踪代码,从自己的代码一直看到Spring的代码,没发现什么问题;接着想想会不会是Hibernate中用的MS SQL Dialect有问题(其实又犯傻了,如果是这里有问题,早就别人被发现了),于是我又看了Hibernate的部分代码,依然无果。在Google上找相关内容,也看到了些遇到此类情况的,但貌似解决方案在我这里都不管用。

突然想到了生成时的情况,于是我修改了下applicationContext中dataSource的定义,直接使用MS的JDBC驱动,一切都好了。就在这时我也在国外的一个网站上找到了和我的情况完全一样的一篇文章,解决方法就是直接使用MS SQL2K的JDBC驱动替代JDBC-ODBC桥。

看来JDBC-ODBC桥也不是万能的,这里的情况实际是它的一个Bug,不巧被我撞上了。因为自己在解决这个问题时花了不少时间,所以记上一笔,如果有人遇上同样的问题,他就可以用中文Google到解决方法了。

【2024最新对比】ODBC vs JDBC:10倍提升数据库性能的秘密武器 ODBC和JDBC是数据库连接的两大主力,2024年对比显示各有优势。ODBC支持多语言,JDBC专为Java设计。性能方面,JDBC在Java环境下更胜一筹。优化技巧:使用连接池、批量操作和参数化查询可提升10倍性能。JDBC优势在于原生Java支持、简化异常处理和面向对象设计。选择时,Java项目首选JDBC,跨语言考虑ODBC。掌握这两种技术,轻松应对大数据挑战。想深入了解如何选择最适合你项目的数据库连接技术?点击阅读全文,解锁数据库性能提升的秘密武器!#数据库优化 #JDBC #ODBC #大数据 阅读详情

相关推荐

通过JDBC-ODBC桥访问MySQL数据库

       通过JDBC-ODBC桥的方式访问数据库,需要经过多层的调用,因此利用JDBC-ODBC桥访问数据库的效率比较低。不过在数据没有提供JDBC驱动而只有ODBC驱动的情况下,也只能利用JDBC-ODBC桥的方式访问数据库。本示例通过JDBC-ODBC桥的方式访问MySQL数据库(Windows系统)。1.安装ODBC驱动      首先下载ODBC驱动并安装,下载地址:        ...

样young的博客 7460

JDBC ODBC的区别

Java连接数据库的方式有两种:JDBC、ODBC。那么它们区别是什么呢? ODBC: 第一次连接数据库的时候使用的是ODBC,在windows平台,打开运行输入odbcad32,即可打开ODBC数据源管理器。这个管理器就是对所有数据库的统一管理器 在ODBC数据源管理器中,添加一个指定的数据库并指定一个数据源名称,我们就可以在开发中使用了。如此看来貌似我们可以统一(...

weixin_34375233的博客 236

odbc的jar包

Java要连接数据库和对数据库进行操作所必须的jar包。

JDBC和ODBC

 作者:blackwhites         来源于Internet异构数据库系统是由多个异构的成员数据库系统组成的数据库系统,异构性体现为各个成员数据库之间在硬件平台、操作系统或数据库管理系统等方面的不同。 -- --Internet上大量信息必须通过数据库系统才能有效管理。由于历史等原因,Internet上的数据库系统不少是异构的。为了在Internet 环境下,基于异种

海鲨的专栏 668

sun.jdbc.odbc.JdbcOdbcDriver.jar.7z

jdbc-odbc驱动包,提示找不到驱动,java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver,解决办法!因为jdk1.8环境不支持sun.jdbc.odbc.JdbcOdbcDriver驱动,所以这里为特别为您提供一个解决JDK1.8不能连接JdbcOdbcDriver的JAR包。

sun.jdbc.odbc.JdbcOdbcDriver.jar

jdbc-odbc驱动包,提示找不到驱动,java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver,解决办法!因为jdk1.8环境不支持sun.jdbc.odbc.JdbcOdbcDriver驱动,所以这里为特别为您提供一个解决JDK1.8不能连接JdbcOdbcDriver的JAR包。

JDBC及防sql注入攻击

哪有什么一夜成名,都是百炼成钢 JDBC JDBC(Java DataBase Connectivity,java数据库连接)又SUN公司开发,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。 简单地说,JDBC 可做三件事:与...

We_chuan的博客 390

2025年最新Cesium学习示例:Cesium-Examples

2025年最新Cesium学习示例:Cesium-Examples

2403_88103571的博客 1010

mysql电脑管理工具配置ODBC数据源提示Connecttion Failed

mysql电脑管理工具配置ODBC数据源提示Connecttion Failed 解决方法:用户权限不足不允许访问,使用root用户登录。

yn_20180507的博客 3020

WPS JS宏实战:批量调整200个Word表格格式的避坑指南(附完整代码)

本文提供了一份详尽的WPS JS宏实战指南,针对批量调整大量Word表格格式的需求。文章深入解析了如何利用JS宏自动化设置字体、行距和边框,并重点解决了常见的“首行访问报错”等核心难题,附有可直接使用的完整代码,帮助用户显著提升文档处理效率。

weixin_29280219的博客 429

point transformer v3结构

分割结构: embedding->enc->dec embedding->enc0->enc1->enc2->enc3->enc4->dec3->dec2->dec1->dec0 embedding ->block0->block1 ->dow->block0->block1 ->dow->block0->block1 ->dow->block0->block1-&gt

weixin_45625419的博客 581

ODBC与JDBC比较

在学习J2EE的JDBC过程中,刚见到JDBC就马上联想到了ODBC,而且我们可以肯定他们之间有必然的关系。开始学它的时候还是觉得有点晕,于是就查了很多资料,与比较熟悉的ODBC进行了比较。     先各自简单介绍一下ODBC和JDBC。     ODBC(Open Database Connectivity)是一组对数据库访问的标准API,这些API通过SQL来完成大部分任务,而且它本身

劝学 4万+

GAN实战:用Python和TensorFlow打造你的第一个生成对抗网络(附完整代码)

本文是一份详细的GAN实战指南,指导读者使用Python和TensorFlow框架从零开始构建并训练一个生成对抗网络。文章涵盖了环境搭建、MNIST数据预处理、生成器与判别器模型构建、对抗性损失函数定义、训练循环编写以及关键的调试技巧,旨在帮助开发者通过动手实践深入理解GAN的核心原理与实现过程。

php55的博客 479

JDBC和ODBC之间的区别

转载自:JDBC和ODBC之间的区别 作者:青灯夜游 本文原创发布php中文网 补充:ODBC&JDBC简介 JDBC和ODBC都是API(应用程序编程接口),它帮助客户端的应用程序访问服务器端的数据库。下面本篇文章就来认识一下JDBC和ODBC,简单介绍一下它们之间的区别,希望对大家有所帮助。JDBC是什么?JDBC表示Java数据库连接,是一种应用程序编程接口,即API。JDBC是作为Java开发工具包(JDK)1.1的一部分发布的。它是建立在ODBC的基础上的,因此,在JDBC中保留了一些

积一时之步,臻千里之遥程 2万+

企业级 Token 中转架构设计:高并发、多模型、费用监控一次搞定

摘要:本文针对企业级AI开发中的多模型接口混乱、高并发稳定性差及Token费用失控等痛点,提出一套2026年企业级Token中转架构解决方案。该方案采用五层分层设计(接入层、网关层、调度层、服务层、存储层),实现多模型统一接口、智能路由、高并发限流容错及精细化成本监控。核心功能包括:异构模型标准化接入、动态路由策略(场景/成本/负载/容灾)、多级限流熔断机制、全链路Token计费与安全防封体系(指纹清洗、IP池隔离)。通过分层解耦与模块化设计,企业可降低50%成本、提升99%稳定性,并避免封号风险。文章还提

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 145

FPGA 学习笔记:Vivado 配置IO引脚约束

FPGA 学习笔记:Vivado 配置IO引脚约束

坚韧与专注 2万+

JDBC和ODBC的区别

一.JDBC(Java DataBase Connectivity standard) 1.JDBC,它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库。 2. 驱动程序(JDBC driver) 要通过JDBC来存取某一特定的数据库,必须有相应的JDBC driver,它往往是由生产数据库的厂家提供,是连接JDBC API与具体数据库之间的桥梁。 3.DBMS 4...

yr123456yr的博客 1万+

【虚拟仿真】Unity3D中实现对大疆无人机遥控器手柄按键响应

最近项目中需要用到大疆无人机遥控器对程序中无人机进行控制,遥控器是下图这一款:博主发现接入手柄这块的可以参考的内容非常少,对于大疆遥控器的控制更是没有。博主经过一番研究,终于理通了这块的遥控器摇杆数据的控制。并且将解决思路分享出来,希望对大家有所帮助。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 2819

JDBC ODBC区别

一.JDBC(Java DataBase Connectivity standard) 1.JDBC,它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库。 2. 驱动程序(JDBC driver) 要通过JDBC来存取某一特定的数据库,必须有相应的JDBC driver,它往往是由生产数据库的厂家提供,是连接JDBC API与具体数据库之间的桥梁。 3.DB...

1126

52、切换线性动态系统:原理、挑战与高斯和滤波解决方案

本文介绍了切换线性动态系统(SLDS)的基本原理及其在复杂时间序列建模中的应用。SLDS结合了隐马尔可夫模型的离散状态切换与线性动态系统的连续状态演化,适用于系统动态发生跳跃的场景,如化工过程监测和金融市场分析。由于精确推理在计算上不可行,文章重点阐述了高斯和滤波这一近似方法,通过有限高斯混合来逼近后验分布,并详细描述了其递归更新、权重计算与组件合并流程。同时讨论了性能评估、优化策略及常见问题的解决方案,并展望了SLDS与深度学习、在线学习和多模态融合的未来发展方向。

algae的博客 161

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

JDBC和ODBC的联系与区别

目录 ODBC是什么? JDBC是什么? JDBC和ODBC的联系 JDBC和ODBC的区别 JDBC的移植性比ODBC好 JDBC比ODBC容易理解容易使用 使用的语言不同 参考文档 ODBC是什么? 开放数据库连接(Open Database Connectivity,ODBC)是为解决异构数据库间的数据共享而产生的,现已成为WOSA(The Windows Open Sy...

AOBO516的专栏 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

谈谈ODBC与JDBC

昨天和大家说了如何通过JDBC连接Access数据库,后来有人问我什么是JDBC..我......于是今天就说说JDBC吧,顺便谈谈ODBC,本来像这种概念或者原理性的东西去网上找找就行了,不像代码,很多网站都要你注册或者付费之类的,找了半天只发现一俩篇好点了,于是借用了点,但是JDBC好像没有好的,只好自己看看英文的原著了,看看原著才发现:网上的很多的文章也只是翻译了>(第二卷)里面讲J

聪明的编译器 3532

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ODBC与JDBC

什么是JDBC? JDBC, 全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库。JDBC也是java核心类库的一部分。 JDBC的最大特点是它独立于具体的关系数据库。与ODBC (Open Database Connectivity)类似, JDBC API 中定义了一些Java类分

qq_39691774的博客 1305

JDBC 与ODBC的区别

JDBC 与ODBC的区别

tyuuhgf的博客 3817
上一篇: Spring Framework 2.0 Reference翻译项目过半
下一篇: 都是JDBC-ODBC惹得祸
dingx
博客等级 码龄24年 67粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值