Microsoft JDBC Driver 4.0 for SQL Server

在微软发布SQL Server 2012的前一天,也同时发布了针对SQL Server 2012的JDBC Driver 4,下载地址为:

http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=49C554CA-41A0-472C-B728-75DF5789369C

 

从 3.0 到 4.0 的更改:

1765616 对于 katmai 和更高版本,DatabaseMetadata.getTypeInfo 现在为 date、time、
datetime2、datetimeoffset 返回新 java.sql.Type 值。

1764334 增加了对于跟踪 JDBC XA 超时和 XID 的支持。

1750318 SQLServerDatabaseMetaData 函数现在可在重复使用入池连接时正确工作。

1768845 setTimestamp 和 updateTimestamp 的行为在关于往返方面已经一致。驱动程序会在将数据发送到
服务器之前先将其舍入到 7 位小数。

1770134 具有最大值 (23:59:59.999) 的时间后端类型上的 updateTime 现在可导致正确的舍入行为。

1761042 DataSource Boolean 属性现在会记录退出调用。

1750330 更新了 XA SQL 脚本以避免在首次运行时出现误导错误。

1761393 为 unwrap 方法改进了跟踪。

1945579 DatabaseMetaData.getSchemas 现在可针对所有排序规则与 SQL Azure 和 SQL Server 一起正常工作。

1963089 hostNameInCertificate 连接属性不再是针对 SQL Azure 验证 SSL 证书时所必需的。

1958531 如果不是为数据库镜像设置的服务器连接在登录过程中失败(例如,数据库不存在),驱动程序不会自动重试。

1954701 插入重复行时引发的异常现在包含 SQLState 23000。

2055259 改进了加载 sqljdbc_auth.dll 后集成身份验证失败时的错误信息。

2083373 针对 SQL Azure 的使用了无效参数的大型参数化查询现在引发异常时不关闭连接。

2084385 getDate、getTimestamp、getDateTimeOffset 现在返回所有日期都使用 JRE 1.7 的正确值。

2105115 从 DatabaseMetaData.getColumns 获取的 ResultSet 上的 getObject 现在可以正常工作。

 

注意:

1、该版本Microsoft JDBC Driver 4.0 for SQL Server的运行环境:Linux;Unix;Windows 7;Windows Server 2008 R2;Windows Vista。

换言之,不再支持win2003和XP。

2、支持的SQL Server 版本为:

  • Microsoft® SQL Server® 2012
  • Microsoft® SQL Server® 2008 R2
  • Microsoft® SQL Server® 2008
  • Microsoft® SQL Server® 2005
  • Microsoft® SQL AzureTM(新增)

不再支持SQL Server 2000及以下版本。而3.0则支持SQL Server 2000/2005/2008/2008r2版本。http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=a737000d-68d0-4531-b65d-da0f2a735707

 

做了个测试,下载Microsoft JDBC Driver 4.0 for SQL Server,并解压,参照这篇文章http://www.cnblogs.com/downmoon/archive/2009/07/16/1524687.html ,复制sqljdbc4.dll,到JRE目录下,并添加引用。

不料在DEMO程序中一直提示无法连接,提示“无法创建下列URL的连接:jdbc:sqlserver://ap2\\vegnet:1433;DatabaseName=Db2010Demo”,我的连接串如下:

driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
sqlserver.url=jdbc:sqlserver://ap2\\vegnet:1433;DatabaseName=Db2010Demo
sqlserver.user=demo
sqlserver.password=demo2012
sqlserver.maxconn=2000

确认用户名和密码无误,防火墙无误,于是怀疑该新驱动程序不支持非默认实例名的连接。换了另外服务器的默认的实例也不行。后来,发现自己的SQL Server 默认端口没有设置,

如下图:

邀月工作室

 

设置好端口,重新启动SQL Server服务。连接成功!!

 其他示例:

JDBC Driver For SQL2000/2005/2008

java中如何以windows集成方式连接SQL Server

posted @   邀月  阅读(6993)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
历史上的今天:
2011-03-11 Visual Studio 2010 Service Pack 1安装日志
2011-03-11 Microsoft Visual Studio 2010 Service Pack 1 正式版官方下载地址
2008-03-11 如何清除sql2005中字段的字段备注信息?(downmoon)
点击右上角即可分享
微信分享提示