SharePoint - внешние типы контента в базе данных Oracle
У меня есть база данных Oracle, к которой я пытаюсь подключиться через BCS.
Существует SQL Server в качестве проходного, который просматривает данные Oracle.
Ключ PK в Oracle для таблицы - это НОМЕР (7).
При выборе вида из SQL Server, я могу очень быстро попасть в одну запись. Тем не менее, при попытке создать операцию чтения элемента через SPD по умолчанию устанавливается значение PK десятичное. В результате SP при выполнении операции чтения элемента преобразует его в этот вызов, который я нашел в профилировщике:
exec sp_executesql N'SELECT [RECORD_CODE] , [PAGETITLE] , [PROJECT_CODE] , [CONTENT_DATA] FROM [dbo].[CONTENT_MAN_CONTENT_MAIN] WHERE [RECORD_CODE] = @RECORD_CODE',N'@RECORD_CODE decimal(5,0)',@RECORD_CODE=19258
Это преобразование в десятичное число приводит к полному сканированию данных, что означает, что экран "Операция чтения" работает очень медленно.
Итак, почему вопросы: 1. Можно ли изменить тип данных во внешнем типе контента на целое число? 2. Если нет, какие еще варианты у меня есть?
Я не могу изменить структуру таблицы и предпочел бы не создавать сервис, если можно использовать BCS.
1 ответ
Я изменил процесс, чтобы использовать хранимую процедуру вместо прямого выбора, поэтому теперь у меня больше контроля над приведением типов данных.
Теперь я могу получить единственную запись и поразить ПК напрямую из Oracle.