Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Статья первоначально опубликовано Кристофером Хопкинсом (Christopher R Hopkins) на английском языке здесь.
Как многие из вас знают, связать данных со схемами Visio – это просто, а поделиться ими с помощью Visio Services в SharePoint еще проще. Но что произойдет, когда вы решите переместить данные, подключенные к схеме Visio на другой сайт, в другую коллекцию сайта или даже на другую ферму?
Если вы возьмете схему Visio, которая связана с данными и переместите ее в другое место, вы можете нарушить связи данных, в зависимости от того, к какому типу данных вы подключены.
Службы Excel Если вы подключены к данным в книге Excel связи данных хранят название и расположение книги Excel…
DataModule=Microsoft.Office.Visio.Server.EcsDataHandler,Microsoft.Office.Visio.Server; Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin; DataSource=** https://spdemo/demo/SupplyChainDemo.xlsx;Mode=Read;Extended Properties="HDR=YES;IMEX=1;MaxScanRows=0;Excel 12.0;";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Engine Type=37;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False
Переместив эту схему Visio, в зависимости от того, куда вы ее перемещаете, можно разрешить ей продолжать чтение данных с этого расположения. В большинстве случаев, которые я видел у заказчиков это было перемещение данных и самой схемы на другой сервер.
SQL & SQL Azure Если вы подключаете свои схемы к SQL или SQL azure у вас может быть прямое соединение с SQL или вы можете использовать файл ODC (что рекомендуется). Связи данных хранят полный путь к файлу ODC, как показано ниже.
Имя файла = https://spdemo/DataConnections/gd212.database.windows.net.odc
Оно должно быть обновлено после того, как вы переместите схему Visio (и файл ODC) на новый сайт или ферму.
Список SharePoint & BCS
Если вы подключаетесь к данным из списка SharePoint или из внешнего списка, связи данных записывают UniqueID этого списка также как и имя сайта, содержащего этот список.
PROVIDER=WSS; DATABASE=https://visio15demo ; LIST={FAEEF716-07E1-4F22-AB65-476C4ABFB599};
Оба эти свойства можно обновить после перемещение схемы Visio на новый сайт или ферму.
В большинстве случаев вам может понадобиться открыть схему в Visio и вернуть мастер подключения данных в порядке восстановления связей с источником данных.
Во вложении к этой статье вы найдёте решение SharePoint, которое продемонстрирует вам как автоматизировать процесс восстановления связей данных в схеме Visio после их перемещения на другой сайт SharePoint, ферму и т.д. В этом примере использовано изолирование решение и FeatureActivated event для запуска процесса обновления связей данных во всех VSDX файлах, которые находятся на моем сайте. Если вы посмотрите код, вы увидите, что я работаю только со связями данных, которые подключены к спискам SharePoint. Я нахожу имя оригинального списка, нахожу этот список на новом сайте, на котором расположена схема, и после этого обновляю непосредственно связи данных.
Ваша логика и сценарий могут отличаться от моих, но я думаю, что прикрепленный код решения пригодиться вам для решения подобной задачи.
Этот код также демонстрирует как редактировать документ, на базе OpenXML, который хранится в библиотеке документов, в памяти, из изолированного решения. Эта техника делает это решение идеальным для SharePoint в Office 365, где разрешены только изолированные решения.