什么是具有SSPI = True的JDBC数据库的GROOVY连接字符串?我是从SoapUI免费版运行的

时间:2015-05-07 15:16:48

标签: jdbc groovy soapui

我试图这样做:

import groovy.sql.Sql

def sql = Sql.newInstance(
    url:'jdbc:sqlserver://localhost\\myDB',
    user:'server\user', //this I don't think I need because of SSPI
    password:'password',
    driver:'com.microsoft.sqlserver.jdbc.SQLServerDriver',
    SSPI: 'true'
)

我遇到的问题是这个连接刚刚超时。我可以ping机器了。我也可以通过登录到我的SSPI用户的Managment Studio连接到数据库(或者你称之为的任何东西,我用不同的用户启动Management Studio)

所以我也尝试过使用我的SoapUI,以不同的用户启动程序,但是当我启动连接时我还有时间。所以我的连接字符串出了问题,任何帮助都会受到赞赏。

P.S。是的,我不知道在服务器的URL之后使用\反斜杠是什么,我猜它表明它在根目录。如果我不使用它们,我会收到一条消息,说明我的版本不正确。

1 个答案:

答案 0 :(得分:2)

然后我们找到答案.....首先,我安装了错误的JDBC驱动程序。您需要前往microsoft才能获得真正的优惠: https://www.microsoft.com/en-us/download/details.aspx?id=11774

然后你需要解压缩这个,将4或4.1版本放在SoapUI的bin目录中。 (你显然应该使用Lib / Ext,但这对我不起作用)

然后,由于我们尝试使用SSPI或Windows身份验证,要连接到SQL服务器,您需要从driver / enu / auth文件夹中放置sqljdbc_auth.dll。这用于您的一个路径或SoapUI Lib文件夹中。 记得使用32位dll进行32位SoapUI !!! 我没有,因为我的系统是64位.....

在此之后,我使用了这个字符串,但现在你的设置正确,所以只要你记得使用正确的windows用户启动SoapUI,它应该可以正常工作。 (Shif-右键单击 - 以不同用户身份启动 - 使用您启动SQL服务器的同一用户)

同样,我从一开始就没有完全意识到这一点(是的,这里有新手)并且失败了。

最后,当你完成所有这些操作后,这是一个有效的字符串 - 可能有很多衍生物,因为这里的失败部分是驱动程序和dll。

def sql =Sql.newInstance("jdbc:sqlserver://localhost;Database=myDB;integratedSecurity=true","com.microsoft.sqlserver.jdbc.SQLServerDriver")