时间:2021-07-01 10:21:17 帮助过:27人阅读
大家都知道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的 ,如果没有的话 肯定也会报错的。