2016-04-26 58 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

相關問題