powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка обновления прилинкованой таблицы
8 сообщений из 8, страница 1 из 1
Ошибка обновления прилинкованой таблицы
    #39970621
siniypank
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Прошу Вас помочь в решении задачи.
На сервере MS SQL прилинкована таблица из MySQL ХХХХ. При выполнении обновления строк (не на всех) выдает ошибку:
Код: html
1.
2.
3.
OLE DB provider "MSDASQL" for linked server "ХХХХ" returned message "Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения.".
Сообщение 7343, уровень 16, состояние 4, строка 3
The OLE DB provider "MSDASQL" for linked server "ХХХХ" could not UPDATE table "[MSDASQL]". The rowset was using optimistic concurrency and the value of a column has been changed after the containing row was last fetched or resynchronized.



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
BEGIN
DECLARE
@ART_ID int,
@PRICE float,
@QNT_SITE float
SET @ART_ID=699
SELECT @PRICE=LS.PRICE, @QNT_SITE=LS.QNT_SITE FROM LST_SITE LS WHERE LS.ART_ID=@ART_ID
UPDATE OPENQUERY(ХХХХ, 'SELECT * FROM GOODS')
SET PRICE=@PRICE, QNT_SITE=@QNT_SITE
WHERE ART_ID=@ART_ID
END
GO



Меняю в таблице MySQL значение с PRICE=196.8 на PRICE=196.7 обновление без ошибок.
Есть и другие строки которые не обновляются, но большинство ок.
Не могу понять в чем причина
...
Рейтинг: 0 / 0
Ошибка обновления прилинкованой таблицы
    #39970628
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
siniypank,

это вам на MySQL ибо MSSQL свое дело сделал и команду на сторону MySQL забросил
...
Рейтинг: 0 / 0
Ошибка обновления прилинкованой таблицы
    #39970631
siniypank
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
a_voronin, Спасибо обращусь туда
...
Рейтинг: 0 / 0
Ошибка обновления прилинкованой таблицы
    #39970762
siniypank
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
a_voronin
siniypank,

это вам на MySQL ибо MSSQL свое дело сделал и команду на сторону MySQL забросил


Добрый день. Вы оказались правы.
Нашёл причину такого поведения, виной всему всё-таки на стороне MySQL значение PRICE float, поменял на decimal(15,5) и все ок.
Вдохновила статья из FAQ MySQL: http://tarlyun.com/blog/2011/03/22/xranenie-ne-celyx-chisel-v-mysql/
Топик закрыт.


Код: plaintext
P.S.  По желанию Модераторы можете перенести топик в MySQL
...
Рейтинг: 0 / 0
Ошибка обновления прилинкованой таблицы
    #39970802
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
siniypank,

если честно - сомнительно что при ошибке оптимистической модели параллелизма проблему решает изменение типа данных в таблице.
...
Рейтинг: 0 / 0
Ошибка обновления прилинкованой таблицы
    #39970874
siniypank
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ff
siniypank,

если честно - сомнительно что при ошибке оптимистической модели параллелизма проблему решает изменение типа данных в таблице.


я тоже в это не верил, и все знакомые тоже об этом говорили, пока на стороне сервера MySQL не изменил тип данных (ради интереса). При значении float цена стояла 196.8 когда перевел на decimal(15,5) цена стала 196.80001.
Во всех значениях где в конце была 1 те строки как раз не обновлялись.

Для подтверждения могу повторить все с детальным отчетом и принтскринами.
...
Рейтинг: 0 / 0
Ошибка обновления прилинкованой таблицы
    #39970882
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
siniypank,

я не утверждаю, что это не решение проблемы. артефакты использования OPENQUERY вполне могут проявляться в такой степени. Просто странно что сервер ругается именно такой ошибкой, а проблема лечится изменением типа данных.

Если можете поэкспериментируйте, если Ваше утверждение верно, то это действительно интересное поведение системы. Для опыта будет полезно.
...
Рейтинг: 0 / 0
Ошибка обновления прилинкованой таблицы
    #39971970
siniypank
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ff
siniypank,

я не утверждаю, что это не решение проблемы. артефакты использования OPENQUERY вполне могут проявляться в такой степени. Просто странно что сервер ругается именно такой ошибкой, а проблема лечится изменением типа данных.

Если можете поэкспериментируйте, если Ваше утверждение верно, то это действительно интересное поведение системы. Для опыта будет полезно.



Результат тот же. Вносил на MySQL строку вручную, тот же самое, изменил PRICE с 196.8 на 196.7 обновляет, изменяю тип на decimal все ок.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка обновления прилинкованой таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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