2016-04-26 31 views
0

我试图在连接中使用全局属性值,以便我可以从一个地方更改它,它将应用于我的所有脚本中。 这是我的连接字符串,当我直接串如何使用groovy在连接字符串中使用全局属性值

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') 

中把IP它工作正常,但是当我把全局属性,它抛出错误“TCP/IP连接到主机“192.168.111.111 ',端口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') 

回答

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') 
+0

哎呀。愚蠢的错误。谢谢 :) – rAJ

相关问题