我需要執行這個查詢:爲什麼groovy sql從SQL查詢中刪除模式名稱?
Select * from my_schema.table_within_schema
不幸的是groogy.sql.SQL被移除my_schema並沒有架構信息執行查詢:
Select * from table_within_schema
我不知道是否有可能迫使常規。 sql.Sql在查詢中保留模式名稱。 Groovy:1.7,Db:我使用需要指定模式名稱的jdbc驅動程序。
我需要執行這個查詢:爲什麼groovy sql從SQL查詢中刪除模式名稱?
Select * from my_schema.table_within_schema
不幸的是groogy.sql.SQL被移除my_schema並沒有架構信息執行查詢:
Select * from table_within_schema
我不知道是否有可能迫使常規。 sql.Sql在查詢中保留模式名稱。 Groovy:1.7,Db:我使用需要指定模式名稱的jdbc驅動程序。
我還沒有碰到這種情況還沒有,但你可以「強制」常規使用一個查詢字符串,而不是一個GString的,如果你想,下面是一個MySQL的JDBC例如:
Sql sql = ...(the usual)
def query = "SELECT * from `my_schema`.mytable"
sql.eachRow(query.toString() ) {
// do something
}
嗨,你有沒有指定一個數據庫名稱創建一個新的Sql對象實例?你確定你正在使用'my_schema'而不是你的jdbc url中的模式(用於調用SQL.newInstance())嗎? – Skarab 2010-08-25 04:51:19
我可以」重現所描述的行爲。你如何使用groovy.sql.Sql?你使用的是哪個數據庫? – 2010-08-23 09:30:19
什麼版本的Groovy? – 2010-08-23 09:48:02