Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема с запросами в MS SQL / 11 сообщений из 11, страница 1 из 1
15.12.2017, 09:27
    #39570116
volt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с запросами в MS SQL
добрый день!
Для ускорения работы БД - часть таблиц вынесли в MS SQL Server. Подключили их через ODBC к Access.
Часть запросов вынесли в MS SQL Server в качестве представлений (view). подключили данные запросы в БД Access в качестве внешних таблиц через ODBC.
Возникла следующая проблема: При открытии формы данные открываются очень быстро, все хорошо, но при редактировании строки выдается ошибка RecordSet открыт только для чтения.
Каким образом обойти данную ошибку?
...
Рейтинг: 0 / 0
15.12.2017, 10:39
    #39570162
index,
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с запросами в MS SQL
voltВозникла следующая проблема: При открытии формы данные открываются очень быстро, все хорошо, но при редактировании строки выдается ошибка RecordSet открыт только для чтения.
Каким образом обойти данную ошибку?При линковке view нужно было выбрать для неё "первичный ключ" / уникальный индекс.
Акцесс наверняка предлагал это сделать.
Тогда бы view была бы редактируемой.

Но не поздно и после линковки, через CREATE UNIQUE INDEX ...
...
Рейтинг: 0 / 0
15.12.2017, 11:21
    #39570209
volt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с запросами в MS SQL
index,,
Создается следующий индекс:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
create view АссортиментПолн as
SELECT [Глоб-ПоизводствоSQL].dbo.Ассортимент.КодИздел, 
       [Глоб-ПоизводствоSQL].dbo.Ассортимент.КАтНом, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.Наимен, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.НаименПолн, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.НаименКонстр, 
	   [ГлобSQL].dbo.АссортКонф.Цена, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.КодВход, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.ТипИзд, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.Метка, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.Коментарий, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.Дилер, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.КодТ, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.ГруппаТ, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.ЕдИзм, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.Скидка, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.СрокПост, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.Модели, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.ПРименяемость, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.Назначение, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.НетДокум, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.КомплексВх, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.Стар, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.МинОстаток, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.Резерв, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.Аналог,
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.РЭ, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.ЗИП, 
	   [ГлобSQL].dbo.АссортКонф.ПРимечДляНас, 
	   [ГлобSQL].dbo.АссортИзм.ФИО, 
	   [ГлобSQL].dbo.АссортИзм.ВремяИзм, 
	   [Глоб-ПоизводствоSQL].dbo.Ассортимент.Сорт, 
	   [Глоб-ПоизводствоSQL].dbo.АссОписание.Описание
FROM (([Глоб-ПоизводствоSQL].dbo.Ассортимент LEFT JOIN [ГлобSQL].dbo.АссортКонф ON [Глоб-ПоизводствоSQL].dbo.Ассортимент.КодИздел = [ГлобSQL].dbo.АссортКонф.КодИздел) LEFT JOIN [ГлобSQL].dbo.АссортИзм ON [ГлобSQL].dbo.АссортКонф.КодИздел = [ГлобSQL].dbo.АссортИзм.КодИздел) LEFT JOIN [Глоб-ПоизводствоSQL].dbo.АссОписание ON [Глоб-ПоизводствоSQL].dbo.Ассортимент.КодИздел = [Глоб-ПоизводствоSQL].dbo.АссОписание.КлВн;



При попытке выполнить следующую команду:
CREATE UNIQUE INDEX AK_kod_Izdeliya
ON [ТехноSQL].dbo.[Ассортимент5] (КодИзделия)

выдается ошибка: Сообщение 1939, уровень 16, состояние 1, строка 1
Cannot create index on view 'Ассортимент5' because the view is not schema bound.
...
Рейтинг: 0 / 0
15.12.2017, 12:43
    #39570263
index,
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с запросами в MS SQL
volt,

Даа, не на сервере индекс создавать нужно ! А в Акцессе :)
Так же СКЛ-командой
...
Рейтинг: 0 / 0
18.12.2017, 10:05
    #39571193
volt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с запросами в MS SQL
index,,
При выполнении запроса в БД ACCESS выдается ошибка: Невозможно выполнение инструкций определения данных для присоединенных источников данных.
...
Рейтинг: 0 / 0
18.12.2017, 10:24
    #39571206
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с запросами в MS SQL
А вообще-то запрос редактируемый?
...
Рейтинг: 0 / 0
18.12.2017, 13:42
    #39571370
studieren
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с запросами в MS SQL
Joss,

Вряд ли по умолчанию представление обновляемый: там у него 2 таблицы. А SQL Server не любит обновлять представление если там участвуют 2 и более таблиц.
...
Рейтинг: 0 / 0
18.12.2017, 13:44
    #39571372
studieren
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с запросами в MS SQL
volt,

Вам придётся сначала колдовать на стороне SQL Server, Вы должны создать триггер "INSTEAD OF INSERT", "INSTEAD OF UPDATE" и "INSTEAD OF DELETE". Ну а потом на стороне Access создать псевдоключ (уникальный индекс). Только после этого представление станет обновляемым. Осилите?
...
Рейтинг: 0 / 0
19.12.2017, 16:17
    #39572132
volt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с запросами в MS SQL
studieren,

Спасибо, хотя бы понятно в какую сторону копать. Постараюсь осилить
...
Рейтинг: 0 / 0
20.12.2017, 11:15
    #39572572
а к с
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с запросами в MS SQL
studierenJoss,

Вряд ли по умолчанию представление обновляемый: там у него 2 таблицы. А SQL Server не любит обновлять представление если там участвуют 2 и более таблиц.Точно не редактируемый. У него там 3 объединения типа left.
...
Рейтинг: 0 / 0
20.12.2017, 11:49
    #39572610
index,
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с запросами в MS SQL
voltindex,,
При выполнении запроса в БД ACCESS выдается ошибка: Невозможно выполнение инструкций определения данных для присоединенных источников данных.Сам запрос, который выдаёт ошибку, показать стесняешься ?
Наверняка ж попёр через ALTER TABLE индекс добавлять ...

12425390
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема с запросами в MS SQL / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]