您好,欢迎访问一九零五行业门户网

【JMeter连接SQLServer】采用window鉴权方式连接(原创)

大家都知道jmeter可以连接各种数据库,这方面我也不多说了,如果你还不知道怎么连接的话,可以参看我看的另外一篇博文,这边有详细的介绍 http://blog.csdn.net/lzqinfen/article/details/38730259 回归正题,由于公司测试环境的问题,我在连接sqlserver时,
大家都知道jmeter可以连接各种数据库,这方面我也不多说了,如果你还不知道怎么连接的话,可以参看我看的另外一篇博文,这边有详细的介绍
http://blog.csdn.net/lzqinfen/article/details/38730259
回归正题,由于公司测试环境的问题,我在连接sqlserver时,公司只能使用window方式的鉴权(通过我们的域账号验证),这下就变得麻烦了,因为本来按照普通的sqlserver连接,是很简单的如下图一样:
但现在采用window鉴权的方式,你无法再填写username和password。我想通过网上查询,包括性能技术群,都没找到相关的解决方法,再各种尝试之后终于搞定~(所以笔者认为是原创方法,应该不为过吧)
1、java连接数据库
jmeter是纯java的,大家都知道自己写java的时候,可以写成window方式连接sqlserver,所以我坚信jmeter应该可以用同样的方法实现。java的实现,其实是增加了一个参数
integratedsecurity= true
所以我们在jmeter里面也做下修改,如下图(前面是ip和端口。后面增加了integratedsecurity= true,注:我这边没有指定数据库名字,你可以指定也可以不指定)
2、看似没什么问题了,运行,结果报错(jmeter命令窗口报错),
错误为:没有为集成身份验证配置驱动程序  
原因是:c:\windows  下缺少了sqljdbc_auth.dll文件
3、下载sqljdbc_auth.dll,并放到c:\windows  下,重新启动,再次运行ok。
下载地址:http://download.csdn.net/detail/lzqinfen/8066775
----------------------------------注意 :  雷区---------------------------------------------
1、sqljdbc_auth.dll已经放到相关目录下,但是报不是64位之类的错误。
原因是:我的是win7 64位的,下载的sqljdbc_auth包中包含x86 和64位的(各3个版本的),我找到其中的64位,随便用的一个也是报错,后来选择最新日期(3.0.1301.101这个)的那个dll 就ok了,这点大家注意下
(我jmeter是2.8的+1.7jdk ,jmeter2.11 版本的 用最新dll应该也没问题的,请大家验证吧~);
2、另外一点注意下:jmeter apache-jmeter-2.8\lib 下应该有sqljdbc4.jar的 ,如果没有的话 肯定也会报错的。
其它类似信息

推荐信息