Posts Tagged ‘ MSSQL

SQLserver , 如何查找所有primary key

原本在這裡 : org link

如果你要知道你的database 所有的primary key, 你可以使用以下sql


ASP.net 2.0/3.5 搭 SQL2005 cache by query notification 的問題

之前set 左好耐都set 唔到, m$ d offical document 又成日張sql2000 同sql2005 一齊講, 講都唔清唔楚, 足足搞左我好多日. 最後發現原來係白痴問題一個. 以下有小小心得, 大家有興起用可以參考一下

1. 首先  web.config 並不需要任何設定  , 因為它是針對SQL2000 polling base 而設的
2. 在SSMS 執行指令
“alter database testdb set enable_broker  WITH ROLLBACK IMMEDIATE”

3. 在Global.asax application_start() 加入
System.Data.SqlClient.SqlDependency.Start(“your connection string here”);

4. 以下係小弟既測試function

[cc lang='csharp' ]

// Create the ADO.NET objects.
string connectionString = Common.DB_ConnString;
string query = “SELECT [ParmKey],[ParmValue] FROM dbo.[ParmTable] where [ParmKey] = ‘test’”;
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(query, conn);
SqlCacheDependency dependency = new SqlCacheDependency(command);
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataTable dt = new DataTable();
adapter.Fill(dt);
Cache DataCache = HttpRuntime.Cache;
DataCache.Insert(“ParmTableDT”, dt, dependency, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration);

[/cc]

我一直既失敗原因為係為我個 SqlCommand 個object 入去init SqlCacheDependency 既時候未沒有被執行過 (即係adapter.fill(dt)) , (因為我之前寫落左d help class 用黎行sql statement, 所以唔係用SqlDataAdapter ), 所以就算intial 左果 SqlCacheDependency, 佢都認唔到你句sql statement, 亦都因為咁所以個cache 永遠都唔識expired….

就 係呢樣咁簡單既野搞左我幾日…真係唔抵

想知多d 可以睇呢個thread
http://forums.microsoft.com/msdn-cht/showpost.aspx?postid=3677123&siteid=14