【问题标题】:How to use global property value in connection string using groovy如何使用groovy在连接字符串中使用全局属性值
【发布时间】:2016-04-26 07:31:43
【问题描述】:

我尝试在连接中使用全局属性值,以便我可以从一个地方更改它,它将应用于我的所有脚本。 这是我的连接字符串,当我将 IP 直接放在字符串中时它可以正常工作

def dbName = context.expand( '${DB_Name}' )
def dbUser = context.expand( '${DB_Username}' )
def dbPass = context.expand( '${DB_Password}' )
def con = Sql.newInstance("jdbc:sqlserver://192.168.111.111:1433;" + "databaseName=" + dbName, dbUser, dbPass, 'com.microsoft.sqlserver.jdbc.SQLServerDriver')

但是当我放置全局属性时,它会抛出错误“与主机 '192.168.111.111' 的 TCP/IP 连接失败,端口 1433 失败。错误:“null。验证连接属性。确保 SQL Server 实例正在主机上运行并在端口接受 TCP/IP 连接。确保与端口的 TCP 连接未被防火墙阻止。"。"

def dbServer = context.expand( '${DB_Server}' )
def dbPort = context.expand( '${DB_Port}' )
def dbName = context.expand( '${DB_Name}' )
def dbUser = context.expand( '${DB_Username}' )
def dbPass = context.expand( '${DB_Password}' )
def con = Sql.newInstance("jdbc:sqlserver://'$dbServer':1433;" + "databaseName=" + dbName, dbUser, dbPass, 'com.microsoft.sqlserver.jdbc.SQLServerDriver')

【问题讨论】:

    标签: jdbc groovy soapui


    【解决方案1】:

    不知道你为什么把$dbServer地址放在引号里,应该是

    def con = Sql.newInstance("jdbc:sqlserver://$dbServer:1433;" + "databaseName=" + dbName, dbUser, dbPass, 'com.microsoft.sqlserver.jdbc.SQLServerDriver')
    

    或者(模板化所有东西,而不仅仅是服务器)

    def con = Sql.newInstance("jdbc:sqlserver://$dbServer:1433;databaseName=$dbName", dbUser, dbPass, 'com.microsoft.sqlserver.jdbc.SQLServerDriver')
    

    【讨论】:

    • 哎呀。愚蠢的错误。谢谢:)
    猜你喜欢
    • 2012-07-06
    • 2019-09-29
    • 2017-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    相关资源
    最近更新 更多