Лучший отвечающий
получить вложения из базы данных Sharepoint 2010

Вопрос
-
Добрый день!
Подскажите, пожалуйста, как можно получить прямую ссылку на вложения какого-то элемента на листе? Решение только через базу данных необходимо.
Спасибо!
1 сентября 2015 г. 8:58
Ответы
-
Добрый!
Делать запросы в базу это плохой подход..почему?тут написали) Вашу задачу можно решить и по другому:
Как я понял вы в проге написаной на php пытаетесь получить данные из шарика...думаю стоит поработать с ODATA(вроде)...http://stackoverflow.com/questions/17545824/how-to-connect-sharepoint-with-php
Если использовать sql то наверное(может быть) подойдет платный продукт http://www.bendsoft.com/downloads/sharepoint-php-tools/ .
А то что вы просили(но это плохо):
Select Top 1 W.FullUrl, W.Title, L.tp_Title as ListTitle, A.tp_id , DS.Content ,DS.RbsId,D.* From WSS_Content_mss.dbo.AllLists as L With (NoLock) join WSS_Content_mss.dbo.AllUserData as A With (NoLock) On L.tp_ID=tp_ListId join WSS_Content_mss.dbo.AllDocs as D With (NoLock) On A.tp_ListID=D.ListID And A.tp_SiteID=D.SiteID join WSS_Content_mss.dbo.AllDocStreams as DS With (NoLock) On DS.SiteID=A.tp_SiteID And DS.ID=D.ID join WSS_Content_mss.dbo.Webs W With (NoLock) On W.ID=D.WebID And W.ID=L.Tp_WebID And W.SiteID=A.tp_SiteID Where D.DeleteTransactionID=0x And D.IsCurrentVersion=1 And A.tp_DeleteTransactionID=0x And A.tp_IsCurrentVersion=1 And D.HasStream=1 And L.tp_DeleteTransactionId=0x And ExtensionForFile not in ('webpart','dwp','aspx','xsn','master','rules','xoml') And D.MetaInfoTimeLastModified>DateAdd(d,-1,GetDate())
Немного его подредактировать под себя
- Предложено в качестве ответа Иван ПродановMicrosoft contingent staff, Moderator 2 сентября 2015 г. 7:37
- Помечено в качестве ответа Иван ПродановMicrosoft contingent staff, Moderator 3 сентября 2015 г. 5:12
1 сентября 2015 г. 12:11
Все ответы
-
Добрый день!
Подскажите, пожалуйста, как можно получить прямую ссылку на вложения какого-то элемента на листе? Решение только через базу данных необходимо.
Спасибо!
Добрый день,
для того чтобы получить такую ссылку надо знать Web ID, List ID, Item ID - вы их уже получили?
Что именно делаете и почему именно из базы требуется?
1 сентября 2015 г. 9:02 -
Добрый день!
Подскажите, пожалуйста, как можно получить прямую ссылку на вложения какого-то элемента на листе? Решение только через базу данных необходимо.
Спасибо!
Добрый день,
для того чтобы получить такую ссылку надо знать Web ID, List ID, Item ID - вы их уже получили?
Что именно делаете и почему именно из базы требуется?
Есть много листов, где вводятся договора, и есть лист, где компании, необходимо найти все договора определенной компании и отобразить их в другом ПО (отчет на php), как вариант сделать выборку из базы шарика по входному параметру компании, есть List ID и Item ID...
что-то примерное пробовал
SELECT 'http://localhost/' + DirName + '/' + LeafName as Path FROM [WSS_Content].[dbo].[UserData] d Left Join [WSS_Content].[dbo].[Docs] c ON d.tp_DocId=c.Id where d.tp_ID='ID';
но выборка не совпадает с действительности :(
1 сентября 2015 г. 11:31 -
Добрый!
Делать запросы в базу это плохой подход..почему?тут написали) Вашу задачу можно решить и по другому:
Как я понял вы в проге написаной на php пытаетесь получить данные из шарика...думаю стоит поработать с ODATA(вроде)...http://stackoverflow.com/questions/17545824/how-to-connect-sharepoint-with-php
Если использовать sql то наверное(может быть) подойдет платный продукт http://www.bendsoft.com/downloads/sharepoint-php-tools/ .
А то что вы просили(но это плохо):
Select Top 1 W.FullUrl, W.Title, L.tp_Title as ListTitle, A.tp_id , DS.Content ,DS.RbsId,D.* From WSS_Content_mss.dbo.AllLists as L With (NoLock) join WSS_Content_mss.dbo.AllUserData as A With (NoLock) On L.tp_ID=tp_ListId join WSS_Content_mss.dbo.AllDocs as D With (NoLock) On A.tp_ListID=D.ListID And A.tp_SiteID=D.SiteID join WSS_Content_mss.dbo.AllDocStreams as DS With (NoLock) On DS.SiteID=A.tp_SiteID And DS.ID=D.ID join WSS_Content_mss.dbo.Webs W With (NoLock) On W.ID=D.WebID And W.ID=L.Tp_WebID And W.SiteID=A.tp_SiteID Where D.DeleteTransactionID=0x And D.IsCurrentVersion=1 And A.tp_DeleteTransactionID=0x And A.tp_IsCurrentVersion=1 And D.HasStream=1 And L.tp_DeleteTransactionId=0x And ExtensionForFile not in ('webpart','dwp','aspx','xsn','master','rules','xoml') And D.MetaInfoTimeLastModified>DateAdd(d,-1,GetDate())
Немного его подредактировать под себя
- Предложено в качестве ответа Иван ПродановMicrosoft contingent staff, Moderator 2 сентября 2015 г. 7:37
- Помечено в качестве ответа Иван ПродановMicrosoft contingent staff, Moderator 3 сентября 2015 г. 5:12
1 сентября 2015 г. 12:11 -
Спасибо большое! Буду пробовать!1 сентября 2015 г. 12:24