我試圖寫一個PowerShell腳本來對數據庫運行一般的SQL命令。這個想法是,運行SQL「select ...」將針對當前打開的數據庫運行SQL文本。如果SQL語句是查詢,它應該返回一個DataTable。如果它是非查詢(DDL或DML),它應該不返回任何內容($ null)。我能告訴如果ado.net的DbCommand是查詢還是沒有(在執行前)
爲了做到這一點,我需要知道哪些方法(或的ExecuteReader的ExecuteNonQuery)執行對命令。有沒有辦法確定這一點? (如果有幫助,我很樂意準備這個命令)。
作爲替代方案,我可以添加一個-query參數,由用戶提供,區分這兩種情況,但作爲一個潛在用戶,我會覺得這很煩人(因爲在我看來,我已經說無論是由我使用的SQL,爲什麼再說一遍?)
我最主要的用途就是Oracle數據庫,所以一個Oracle特定的答案是我OK,但我喜歡的東西通用的查詢。
我確信我會嘗試這樣做,但你說得對,它工作正常。謝謝! – 2010-10-22 21:52:22