獲取SQL管理工作室的exec字符串我正在調試其他人從C#代碼中調用大量存儲過程(sql server 2008 r2)的代碼。 C#代碼看起來像這樣如何從.net代碼
SqlCommand sqlCommand = new SqlCommand(strSP, ConnectionOpen());
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.CommandTimeout = intTimeOut;
//System.Data.SqlClient.SqlParameter[] prmSQL
if (prmSQL != null)
{
while (i < prmSQL.Length)
{
sqlCommand.Parameters.Add(prmSQL[i]);
i = i + 1;
}
}
SqlDataReader sqlReader = sqlCommand.ExecuteReader();
爲了調試我的存儲過程,我真正需要的字符串,SQL Management Studio中需要它就像 高管SP_NAME PARAM一個帕拉姆兩(如需要可用於字符串和日期報價.. ) sql命令對象不通過某個屬性提供此字符串。我知道的唯一方法是在sql server上運行sql profiler並獲取字符串。不幸的是,DBA不喜歡這樣,因爲他們說運行剖析器會影響性能。是否有任何插件或代碼片段,你們用來從c#代碼獲取sp exec字符串?什麼是獲得這個字符串的最好方法?謝謝
看看這裏 [1]:http://stackoverflow.com/questions/5356467/from-net-can-i-get-the-full-sql-string-generated-by-a-sqlcommand- object-with-s [2]:http://stackoverflow.com/questions/265192/get-the-generated-sql-statement-from-a-sqlcommand-object – StaWho
@StaWho thx的鏈接。這裏有一些很好的提示,看起來像我的問題是dup,但它們不包括下面Marc提出的優雅解決方案。 – Gullu