慎用或尽量不要用微软自带的sqlserver的jdbc驱动

微软提供的MSSQL的JDBC连接 设置 CLASSPATH 变量Microsoft SQL Server 2000 JDBC 驱动程序 .jar 文件必须在 CLASSPATH 变量中列出。CLASSPATH 变量是 Java 虚拟机 (JVM) 用于在您的计算机上查找 JDBC 驱动程序的搜索字符串。如果驱动程序未在 CLASSPATH 变量中列出,尝试载入驱动程序时将出现以下错误信息: java.lang.ClassN 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 微软看到这个标题,肯定不高兴了。不过说实话,在商业应用中,很少有公司真正实用微软的那个什么com.microsoft.jdbc.sqlserver.SQLServerDriver。 其实发现微软驱动的不足,也是很偶然的机会。在一次移植应用中,系统报告了[Microsoft][SQLServer JDBC Driver]ResultSet can not re-read row data for column之类的错误。为了解决这个错误,跟踪程序忙了大半天,也没有查出问题所在。只能确定在在rs.getString("XXX")的时候必然会出现错误(rs为ResultSet对象)。那么现在就模拟以下当时的环境: 数据库表:TestTable 表字段及类型: guid char(38) title varchar(100) content Text username varchar(20) 查询sql语句: select guid,username,content,title from TestTable where···· java代码: rs.getString("guid"); rs.getBinaryStream("content"); rs.getString("username"); ----------------------------------------------------------- 上面那段代码,很不荣幸是。使用微软的驱动,必然会报错(就是上面说的那个错误)。如果你跟踪的话,必然是这一行:rs.getString("username")抛出错误。 那么,如果你把rs.getString("username")和rs.getBinaryStream("content");位置互换以下,会怎么样呢。结果就是可以正常运行。 为什么会出现这种情况呢,因为微软的驱动,在包含了blob或clob类型(就是Image和Text类型)的字段。那么就必须按照select顺序查询,且不支持重复查询。 面对这种情况,只有更换驱动了。国外第三方的驱动很多,比如JSQLConnect,JTurbo等等。这些都是商用的,需要付费,不够有试用版本。如果希望有个免费的,可以在www.freetds.com上获取一个免费的(我没有测试过这个免费驱动,不知道是否会存在这种情况)。 有关最初的说明,可以参考[javasearch] http://www.javaresearch.org/article/showarticle.jsp?column=2&thread=4278] 或[javaunion](很遗憾的是,javaunion已经不存在了) http://www.javaunion.org/bbs/cgi-bin/topic.cgi?forum=1&topic=15516&show=0 其实今天想说的这篇文档真的有些老了。早在曾经的javaunion还存在的时候就谈过这样的问题了。今天突然又贴出来,只是偶然间发现了数据库板块中的“SQLServer2000 JDBC驱动的完整安装及测试说明”这篇文档。我以为会有些什么值得参考的东东,结果大失所望(文章很适合入门型的参考,从这一点上写的还是可以的)。不过,拿来商业性应用中,就有些幼稚了。 希望大家慎用或尽量不要用微软自带的sqlserver的jdbc驱动。 如果有什么疑问,或有错误地方,请斧正。可以发邮件,相互交流。
jdbc连接Microsoft SQL Server 2014 关于jdbc连接Microsoft SQL Server 2014 阅读详情

相关推荐

SQL Server JDBC 驱动包

SQL Server JDBC 驱动包,支持各版本 。描述个鸡巴,爱下不下。

eclipse错误以及解决方法

eclipse错误提示如下: 2009-12-16 19:40:53 com.microsoft.sqlserver.jdbc.TDSChannel enableSSL 警告: TDSChannel ( ConnectionID:1 TransactionID:0x0000000000000000) SSL handshake failed: RSA premaster secret erro

源码好优多 1330

sqlserver各版本jdbc驱动.zip

sqlserver各版本驱动 DriverManager:负责加载各种不同驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。Connection:数据库连接,负责与进行数据库间通讯,SQL执行以及事务处理都是在某个特定Connection环境中进行的。可以产生用以执行SQL的Statement。Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)

SQL Server2019详细安装教程(含JDBC连接)

连接方式一:身份认证(基于你目前登录windows系统的用户,我们直接在安装的时候有添加所以这个是可以使用的)勾选想要的功能如下所示然后点击下一步:SQL Server复制、全文和语义提取搜索以及Data质量服务。步骤一:点击TCP/IP右键,选择启用。接下来就是SQL Server的选项配置,见二部分即可,其中包含选中实例功能、设置用户名密码等。连接方式二:身份验证(需要输入用户名和密码)之前在安装的时候设置的账号如下。步骤二:将SQL Server Browser禁用。

每个人都是独一无二的,把握好自己的节奏,跟着自己的心走。 7596

微软vs自带数据库测试界面化工具

微软vs自带数据库测试界面化工具,Microsoft.Data.ConnectionUI.DataConnection.Dialog 与Microsoft.Data.ConnectionUI.DataConnection MicrosoftVisualStudio里面的资源之数据库连接配置 这个功能的实现主要是用了Microsoft.Data.ConnectionUI.dll和Microsoft.Data.ConnectionUI.Dialog.dll这个二个动态库,可以在VS的安装目录的Common7\IDE这个目录下面找到(本机的安装路径C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE)

微软开源的SQLServerJDBC驱动

Microsoft SQL Server JDBC驱动程序是一个Type 4 JDBC驱动程序,它提供了SQL Server数据库连接通过标准的JDBC应用程序编程接口(api)。

微软数据库之微软自带数据库分析

AdventureWorks 案例研究介绍: Adventure Works Cycles,AdventureWorks 示例数据库所基于的虚构公司,是一家大型跨国生产公司。公司生产金属和复合材料的自行车,产品远销北美、欧洲和亚洲市场。公司总部设在华盛顿州的伯瑟尔市,拥有 299 名雇员,而且拥有多个活跃在世界各地的地区性销售团队。在 2000 年,Adventure Works C

张晨光老师的播客 2909

jdbc连接sql server2016(windows 身份验证)64bit

Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path或者 Exception in thread "main" java.lang.UnsatisfiedLinkError: com.microsoft.sqlserver.jdbc.AuthenticationJNI.GetDNSName(Ljava/lang/String;[Ljava/lang/String;Ljava/util/logging/Logger;)I

[数据库_2]-Windows 桌面数据库 Access 简明教程

Access 数据库概述 创建一个 Access 数据库 创建切换视图表 Access 数据库的增删改查 Access 数据库关联表 Access 数据库窗口与控件

燃吹 U 客帮 4257

Argoverse轨迹预测实战:从数据加载到地图API应用全解析

本文详细解析了Argoverse数据集在轨迹预测中的应用,从数据加载到地图API的实战技巧全涵盖。通过具体代码示例展示如何高效处理轨迹数据、实现可视化及基础预测模型,帮助开发者快速掌握自动驾驶轨迹预测的核心技术。特别介绍了Argoverse地图API的深度应用和性能优化经验。

weixin_29182481的博客 241

CTF实战:Flask Session流量解密与内存马路由追踪

本文通过一道CTF实战题目,详细解析了Flask Session流量解密与内存马路由追踪的全过程。文章从破解前端加密密码入手,逐步揭示如何利用泄露的SECRET_KEY解密Session,发现命令执行痕迹,并最终追踪到攻击者植入的内存马路由。内容涵盖Wireshark流量分析、flask-unsign工具使用等实战技巧,为CTF选手和安全研究人员提供了一套完整的Flask应用安全分析思路。

weixin_28309571的博客 306

慎用或尽量不要用微软自带的sqlserver的jdbc驱动 (转)

慎用或尽量不要用微软自带的sqlserver的jdbc驱动 (转)[@more@] 微软看到这个标题,肯定不高兴了。不过说实话,在商业应用中,很少有公司真正实用微软的那个什么com.microsoft.jdbc.sqlserv...

ciya3282的博客 177

保姆级教程:用微信小程序+OneNet MQTT API,5分钟搞定温湿度数据实时展示

本文提供了一份详细的教程,教你如何利用微信小程序和OneNet MQTT API在5分钟内实现温湿度数据的实时展示。从OneNet平台配置到小程序数据绑定,手把手指导零基础开发者快速搭建监控系统,涵盖API调用、数据解析和界面设计等关键步骤。

weixin_30298497的博客 370
上一篇: Borland 2003开发者大会
下一篇: java
java169
博客等级 码龄18年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值