2015-09-09 3 views
-3

Здравствуйте Ниже мой код, чтобы получить доступ к следующему идентификатору элемента для списка из базы данных контентаSharePoint 2013 доступа к следующему списку Itemid

int listItemId = -1; 
      try 
      { 
       SPWeb web = SPContext.Current.Web; 
       Log("web object", TraceSeverity.High, EventSeverity.Error, "God damn it,it before web object creation"); 
       Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(delegate() 
       { 
        Log("RunWithElevatedPrivileges", TraceSeverity.High, EventSeverity.Error, "God damn it,RunWithElevatedPrivileges"); 
         using (SPSite elevatedSite = new SPSite(web.Site.ID)) 
         { 
          Log("elevatedSite", TraceSeverity.High, EventSeverity.Error, "God damn it,elevatedSite"); 
          if (elevatedSite.WebApplication.ContentDatabases.Count > 0) 
          { 
           Log("ContentDatabases.Count", TraceSeverity.High, EventSeverity.Error, "God damn it,eContentDatabases.Count"); 
           //Get the connection string for the sharepoint database 
           string connString = elevatedSite.WebApplication.ContentDatabases[0].DatabaseConnectionString; 
           Log("connString", TraceSeverity.High, EventSeverity.Error, "God damn it,connString"); 
           //Establish a connection 
           SqlConnection con = new SqlConnection(connString); 
           Log("SqlConnection", TraceSeverity.High, EventSeverity.Error, "SqlConnection"); 
           try 
           { 
            con.Open(); 
            Log(" con.Open();", TraceSeverity.High, EventSeverity.Error, " con.Open();"); 
            //Query to get the next item id for a list(Filtering the list by the list id) 
            SqlCommand com = con.CreateCommand(); 
            Log(" SqlCommand ", TraceSeverity.High, EventSeverity.Error, " SqlCommand "); 
            //This command is changed by yogesh for sharepoint 2010 to get next avalable ID in a list 
            //com.CommandText = String.Format("select tp_NextAvailableId from AllLists where tp_ID = '{0}'", listId.ToString()); 
            com.CommandText = String.Format("select NextAvailableId from AllListsAux where ListID = '{0}'", listId.ToString()); 
            Log("com.CommandText ", TraceSeverity.High, EventSeverity.Error, "com.CommandText "); 
            listItemId = (int)com.ExecuteScalar(); 
            Log("listItemId", TraceSeverity.High, EventSeverity.Error, "listItemId"); 
           } 
           finally 
           { 
            con.Close(); 
           } 
          } 
         } 
        }); 

      } 

Этого код работает нормально, но когда я разворачивал свой код в PPD его дает мне ошибку

Ниже ошибка трассировки стека, я не в состоянии понять эту проблему, пожалуйста, помогите мне скоро

Проклятье, это до создания веб-объекта 304d2c9d-7d0d-207c-3e44-95108fc65117 09/09/2015 17: 07: 58,25 W3wp.exe (0x2EC0) 0x4250 Неизвестные RunWithElevatedPrivileges
00000 Высокие
Проклятье, RunWithElevatedPrivileges 304d2c9d-7d0d-207c-3e44-95108fc65117 09/09/2015 17: 07: 58,25 w3wp.exe (0x2EC0) 0x4250 База данных SharePoint Foundation
ahjqp High
[Принудительно из-за бремени заготовки, кэшировано @ 09/09/2015 17: 07: 58.24, Уровень оригинала: Verbose] Время соединения SQL: 0.0291936545007815 для источника данных = MOC-MHX-SQLC06 \ PPD_BIZAPP2013; Начальный каталог = WSS_Content_PERApplication_new; Integrated Security = True; Enlist = False; Pooling = True; Min Pool Size = 0; Max Pool Size = 100; Time Time = 15; Application Name = SharePoint [w3wp] [2] [WSS_Content_PERApplication_new ] 304d2c9d-7d0d-207c-3e44-95108fc6511 7 09/09/2015 17: 07: 58,25 w3wp.exe (0x2EC0) 0x4250 Foundation Общие 6t8j SharePoint Высокий
[Вынужденный из-за лесозаготовок разрыва, Исходный уровень: Многословный] {0} 304d2c9d-7d0d-207c-3e44- 95108fc65117 09/09/2015 17: 07: 58,25 w3wp.exe (0x2EC0) 0x4250 Неизвестный elevatedSite
00000 High
Проклятье, elevatedSite 304d2c9d-7d0d-207c-3e44-95108fc65117 09/09/2015 17:07 : 58,25 w3wp.exe (0x2EC0) 0x4250 Неизвестный ContentDatabases.Count
00000 High
Проклятье, eContentDatabases.Count 304d2c9d-7d0d-207c-3e44-95108fc65117 09/09/2015 17: 07: 58,25 w3wp.exe (0x2EC0) 0x4250 Неизвестный connString
00000 High
Проклятье, connString 304d2c9d-7d0d-207C-3e44-95108fc65117 09/09/2015 17: 07: 58.25 w3wp.exe (0x2EC0) 0x4250 Неизвестно SqlConnection 00000 High
SqlConnection 304d2c9d-7d0d-207c-3e44-95108fc65117 09/09/2015 17: 07: 58.27 w3wp.exe (0x2EC0) 0x4250 Неизвестно con.Open();
00000 High
con.Open(); 304d2c9d-7d0d-207c-3e44-95108fc65117 09/09/2015 17: 07: 58.27 w3wp.exe (0x2EC0) 0x4250 Неизвестный SqlCommand 00000 высокого
SQLCommand 304d2c9d-7d0d-207C-3e44-95108fc65117 09/09/2015 17 : 07: 58.27 w3wp.exe (0x2EC0) 0x4250 Неизвестный com.CommandText 00000 высокого
com.CommandText 304d2c9d-7d0d-207c-3e44-95108fc65117 09/09/2015 17: 07: 58.33 w3wp.exe (0x2EC0) 0x4250 SharePoint База данных фундамента
ahjqp High
[Принудительно из-за бремени заготовки, кэшировано @ 09/09/2015 17: 07: 58.28, Уровень оригинала: Verbose] Время соединения SQL: 0.0308000039111116 для источника данных = MOC-MHX-SQLC06 \ PPD_BIZAPP2013; Начальный каталог = WSS_Content_PERApplication_new; Integrated Security = True; Enlist = False; Pooling = True; Min Pool Size = 0; Максимальный размер пула = 100; Тайм-аут Connect = 15; = SharePoint [w3wp] [2] [WSS_Content_PERApplication_new] -3e44-95108fc65117 304d2c9d-7d0d-207c 09/09/2015 17: 07: 58.33 w3wp.exe (0x2EC0) 0x4250 Общий фонд SharePoint ama7l высокого
[Прин в связи с вход разрыва, Исходный уровень: Многословный] SPListItem.AddOrUpdateItem: начать 304d2c9d-7d0d-207c-3e44-95108fc65117 09/09/2015 17: 07: 58,41 w3wp.exe (0x2EC0) 0x4250 Foundation Dev SharePoint События
ahk8b High
[Принудительно из-за бремени заготовки, Уровень оригинала: V erbose] Вызов ExecuteItemEventReceivers() для списка {0} по пункту {1} ​​ 304d2c9d-7d0d-207c-3e44-95108fc65117 09/09/2015 17: 07: 58,50 w3wp.exe (0x2EC0) 0x4250 Foundation Dev SharePoint События
ajekb Высокая
[Вынужденный из-за регистрации разрыва, кэшируются @ 09/09/2015 17: 07: 58.43, Исходный уровень: Многословный] Вызов EventReceiver - [Id: {0}] 304d2c9d-7d0d-207c-3e44-95108fc65117 09/09/2015 17: 07: 58,50 w3wp.exe (0x2EC0) 0x4250 SharePoint Foundation База данных
8acb High
[Вынужденный из-за лесозаготовок разрыва, Исходный уровень: VerboseEx] Откат обрабатывать тождество 304d2c9d-7d0d-207c-3e44 -95108fc65117 09/09/2015 17: 07: 58.53 w3wp.exe (0x2EC0) 0x47B4 События SharePoint Foundation Dev
ajbpn Medium
Установить EventFiringDisabled на [False]. Трассировка стека: [в Microsoft.SharePoint.SPEventManager.HandleEventCallback [ReceiverType, PropertiesType] (Object callbackData) в Microsoft.SharePoint.Utilities.SPThreadPool.WaitCallbackWrapper (состояние объекта) в System.Threading.ExecutionContext.RunInternal (ИсполнениеКонтекстовое исполнениеКонтекст, обратный вызов ContextCallback, Состояние объекта, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run (ExecutionContext executeContext, ContextCallback callback, состояние объекта, Boolean preserveSyncCtx) в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() в System.Threading.ThreadPoolWorkQueue. Отправка()] 264d2c9d-1dd5-207c-3e44-9aa480fb3752 09/09/2015 17: 07: 58.57 w3wp.exe (0x2EC0) 0x4250 SharePoint Foundation Топология
ebe8 Средний
для инициализации учетной записи фермы Sid 304d2c9d-7d0d-207c-3e44-95108fc65117

+1

вам нужно отформатировать свой вопрос. – YoungHobbit

ответ

0

Почему вы получаете это значение из базы данных? Правило большого пальца в SharePoint - держаться подальше от базы данных.

Я не знаю, каков ваш точный сценарий, но, может быть, вы могли бы получить это значение непосредственно из списка, используя запрос?

У меня нет запроса к примеру, но вы можете ограничить количество результатов до одного, заказать результат по полю ID в порядке убывания, прочитать значение и вуаля!

Смежные вопросы