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

Но не поздно и после линковки, через CREATE UNIQUE INDEX ...
...
Рейтинг: 0 / 0
Проблема с запросами в MS SQL
    #39570209
volt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Проблема с запросами в MS SQL
    #39570263
index,
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
volt,

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

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

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

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

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

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


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