我有一個SP 2010外部列表,其中填充了客戶名稱。該列表偶爾會在一天中更新。我想自動將新添加的名稱複製到另一個SP 2010列表中,當它更新或在設定的時間(每小時)時。自動將數據從SP2010外部列表複製到SP2010自定義列表
有沒有簡單的方法來做到這一點?如果沒有,至少有辦法做到這一點?
謝謝你的幫助。
我有一個SP 2010外部列表,其中填充了客戶名稱。該列表偶爾會在一天中更新。我想自動將新添加的名稱複製到另一個SP 2010列表中,當它更新或在設定的時間(每小時)時。自動將數據從SP2010外部列表複製到SP2010自定義列表
有沒有簡單的方法來做到這一點?如果沒有,至少有辦法做到這一點?
謝謝你的幫助。
可以輕鬆創建工作流程。當新創建或更新項目時,可以觸發工作流程。工作流程可以將相同的項目創建到另一個列表中。
嘗試使用SharePoint設計器創建工作流,這很簡單。
希望這會有所幫助。 :)
不幸的是,外部列表不支持工作流程。所以工作流程不是一個解決方案。
要做到這一點的方法之一是創建一個自定義計時器作業來同步項目&配置以定期運行它。查看如何創建&註冊定製作業here的詳細信息。
但這種方法也有它自己的缺點:
我會在SharePoint中構建一個Windows服務或定時作業,然後將兼容的ado.net連接器連接到我的進程。這樣您就可以在兩個列表之間複製或同步數據,就好像它們在普通SQL表所在的位置一樣。
private void example()
{
// Fetch data from your left sharepoint
SharePointConnection leftConnection = new SharePointConnection(@"
Server=mysharepointserver.com;
Database=mysite/subsite
User=spuser;
Password=******;
Authentication=Ntlm;
TimeOut=10;
StrictMode=True;
RecursiveMode=RecursiveAll;
DefaultLimit=1000;
CacheTimeout=5");
leftConnection.Open();
string leftQuery = "SELECT * FROM LeftList";
SharePointDataAdapter adapter = new SharePointDataAdapter(leftQuery, leftConnection);
DataTable dt = new DataTable();
adapter.Fill(dt);
// Insert data in right sharepoint
SharePointConnection rightConnection = new SharePointConnection(@"
Server=anothersharepointserver.com;
Database=whateversite
User=spuser;
Password=******;
Authentication=Ntlm;
TimeOut=10;
StrictMode=True;
RecursiveMode=RecursiveAll;
DefaultLimit=1000;
CacheTimeout=5");
rightConnection.Open();
// build your rightQuery here
string rightQuery = "Insert into"...
SharePointCommand command = new SharePointCommand(rightQuery, rightConnection);
command.ExecuteNonQuery();
}
你可以試試這個http://www.bendsoft.com/net-sharepoint-connector/。這個ado.net連接器使用SharePoint的API,所以你可以在第三臺機器上運行服務,只要它有訪問權限,你就可以。
有一些例子和HOWTO的在http://blog.bendsoft.com
你爲什麼要到外部數據複製到另一個目錄?這樣做的目的是什麼?對於你想要做的事,也許有更好的解決方案。
我之所以這樣說,是因爲您要複製數據並且可能會有點棘手,特別是如果您允許在兩個位置更新數據。
Hi Doug - 基本上我們有一個30年前爲紙張世界設計的EMR系統。該系統適用於保存患者數據,但不能用於通過系統追蹤患者進展情況。這是非常有限的,不能改變,真的是唯一的選擇。幸運的是,數據庫可以很容易地訪問,我們正在使用它來將新的患者信息植入我們開發的SP跟蹤系統。我們不是在兩個地方複製數據,只是將最基本的信息用於另一個地方。我們可以重新輸入患者信息,但效率更高。 – Ben 2011-04-24 19:52:05
嗨,本,聽起來像你可以利用BCS將數據帶入SharePoint並用它來滿足你的需求。 – 2011-04-25 15:26:55
我會使用MS訪問,以便從一個表中複製數據,並將其推送到另一個表中。我廣泛地使用了Access/Sharepoint,並且它有點兒錯誤,但它通常起作用。它可能會崩潰 - 但對於90%的小桌子,嘿,你可以做到這一點!
您無法在外部列表上創建工作流程 – 2013-02-05 16:22:48