我寫了一個C#代碼轉移使用SMO兩個遠程服務器之間的表在目標服務器已經存在,我想知道的是,反正是有檢查表中已經存在具有確切架構,列名稱,數據類型,約束和一切的目標服務器。然後,我不必每次都刪除現有的表並創建新的表。C#SMO-檢查,如果該表在
2
A
回答
1
嘗試這一塊代碼段:
Server srv1 = new Server("<server_location>");
srv1.ConnectionContext.LoginSecure = false;
srv1.ConnectionContext.Login = "<username>";
srv1.ConnectionContext.Password = "<password>";
srv1.ConnectionContext.Connect();
Database sourceDb = srv1.Databases["<database_name>"];
Table sourceTbl = sourceDb.Tables["<table_name>"];
Server srv2 = new Server("<server_location>");
srv2.ConnectionContext.LoginSecure = false;
srv2.ConnectionContext.Login = "<username>";
srv2.ConnectionContext.Password = "<password>";
srv2.ConnectionContext.Connect();
Database destinationDb = srv1.Databases["<database name>"];
Table destinationTbl = sourceDb.Tables["<table_name>"];
var isMatched = CompareTables(sourceTbl, destinationTbl);
比較方法:
bool CompareTables(Table source, Table destination)
{
// Column count doesn't match
if (!source.Columns.Count.Equals(destination.Columns.Count))
return false;
// Assuming the order of the Columns are same in both the Tables
for (int i = 0; i < source.Columns.Count; i++)
if (!source.Columns[i].Equals(destination.Columns[i]))
return false;
// Constraints count doesn't match
if (!source.Checks.Count.Equals(destination.Checks.Count))
return false;
// Assuming the order of the Contraints are same in both the Tables
for (int i = 0; i < source.Checks.Count; i++)
if (!source.Checks[i].Equals(destination.Checks[i]))
return false;
return true;
}
相關問題
- 1. 通過C#和SMO檢查並刪除現有表格
- 2. 檢查,如果是Windows或UNIX在C++
- 3. C++檢查,如果在矢量
- 4. 檢查,如果數字是在C++
- 5. C#檢查,如果複製在字典
- 6. SSMS SMO對象:獲取查詢結果
- 7. C++:如何檢查,該枚舉只
- 8. MySQL的慢檢查,如果在大表
- 9. 檢查,如果在R列表
- 10. PostgreSQL的檢查,如果在表
- 11. 如何在C++中使用smo庫
- 12. 如何檢查(如果有)soundfile? obj-c
- 13. 如果檢查
- 14. SQL 2005 SMO - 查找引用表
- 15. C#檢查,如果任務運行
- 16. C++簡單如果語句不檢查?
- 17. Unity3D C#檢查,如果事件是空
- 18. C#檢查,如果事件是空
- 19. 檢查楠在如果
- 20. C#LINQ查詢組通過檢查,如果結果爲空
- 21. 創建檢查,如果該方法存在Rspec的
- 22. 檢查,如果項目是在列表中,然後返回該項目
- 23. C#如果在表
- 24. 檢查表,如果使用setTimeout更改
- 25. 檢查,如果我的表是空
- 26. 如何檢查,如果事情等於任何值的列表在C#
- 27. 檢查在C#
- 28. 檢查在C#
- 29. 如何檢查在c#
- 30. 檢查該類
我有一個類似的問題比較簡單的方法: http://stackoverflow.com/a/25273567/2188550 – Ivanzinho