Код ошибки 1329

Полный размер

Ну вот, например, недавно был такой случай.
Kia ceed прибыл на диагностику системы AirBag код ошибки b1329 -ошибка фронтального датчика удара со стороны водителя. Замена местами датчиков удара не дала результата, значит: а) датчик рабочий б) проводка в обрыве или крайний вариант, который мне ещё не встречался в) блок управления подушками. Снял бампер, прозвонил до разъёма соединительного-обрыв. Вскрываем косу:)) кто то этот провод уже ремонтировал, как я люблю:) с помощью изоленты, спасибо что не синей. Правда была бы синяя — естественно не сгнило бы:) я же решил соединения не городить и распиновал оба разъёма ( один от датчика, второй от соединительного разъёма). Пустил новый провод прямо к клеммам:)) добавил из закромов родины кронштейны крепления проводки в штатные места:)) такой вот ремонт, даже без термоусадки:) интересно ли озвучивать стоимость ремонта?)) #работа #электрика #диагностика #ремонтавтомобилей #автосервис #автоэлектрик #диагност #киа #киасид #коравто #коравтосервис #авто #автомобили #запчастиисервис #kia #kiaceed #ceed #airbag #b1329 #датчикудара

Полный размер

Полный размер

Полный размер

Полный размер

Полный размер

Полный размер

Полный размер

Войдите или зарегистрируйтесь, чтобы писать комментарии, задавать вопросы и участвовать в обсуждении.

Все комментарии

Описание ошибки B1329
Датчики фронтального удара (FIS) находятся в передней части моторного отсека с обеих его сторон и предназначены для определения лобового столкновения. После поступления сигнала о столкновении от датчика FIS в блок SRSCM последний сверяет эту информацию с показаниями собственного датчика.
Если столкновение определяется датчиком FIS и страховочным датчиком одновременно, блок SRSCM инициирует раскрытие фронтальной подушки безопасности. Если вращать или резко дернуть SRSCM при включенном зажигании, преднатяжитель ремней безопасности, анкерный преднатяжитель, шторка безопасности или боковая подушка безопасности могут сработать и представлять опасность. Обращайтесь с системой аккуратно. В случае любого сбоя связи между датчиком DFIS (датчик фронтального удара на стороне водителя) и блоком SRSCM последний регистрирует код неисправности B1329.

Возможная причина ошибки B1329
Плохое подсоединение устройства.
Неисправность датчика DFIS.
Неисправен блок SRSCM.

I have a stored procedure which does not need to return any values. It runs smoothly and without any problem. However, it outputs an error message after finishing its run:

Error: No data — zero rows fetched, selected, or processed

How can I get rid of this error message?

CREATE PROCEDURE `testing_proc`()  
    READS SQL DATA  
BEGIN  
    DECLARE done INT DEFAULT 0;
    DECLARE l_name VARCHAR(20);
    DECLARE my_cur CURSOR FOR
        SELECT name FROM customer_tbl;
    OPEN my_cur;
        my_cur_loop:
        LOOP FETCH my_cur INTO l_name;
            IF done = 1 THEN
                LEAVE my_cur_loop;
            END IF;
            INSERT INTO names_tbl VALUES(l_name);
        END LOOP my_cur_loop;
    CLOSE my_cur;
END

asked Aug 11, 2010 at 22:15

Babibo's user avatar

2

I guess you just forgot to include the following line in your post:

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

Your code is correct, but bug/strange behaviour of mysql causes the warning to appear even if it was handled. You can avoid that if you add a «dummy» statement to the end of your procedure that invovles a table and is successful, this will clear the warning. (See http://dev.mysql.com/doc/refman/5.5/en/show-warnings.html)
In your case:

SELECT name INTO l_name FROM customer_tbl LIMIT 1;

after the end of the loop.
On MySQL 5.5.13 the warning disappears, on Linux and Windows.
I commented on MySQL Bug 60840 and I hope they will fix it some time in the future…

answered Jul 20, 2011 at 12:32

RobertG's user avatar

RobertGRobertG

4914 silver badges3 bronze badges

2

You need to define a continue handler like:

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

So it would look like:

DECLARE done INT DEFAULT 0;
DECLARE l_name VARCHAR(20);
DECLARE my_cur CURSOR FOR
    SELECT name FROM customer_tbl;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

OPEN my_cur;
    my_cur_loop:
    LOOP FETCH my_cur INTO l_name;
        IF done = 1 THEN
            LEAVE my_cur_loop;
        END IF;
        INSERT INTO names_tbl VALUES(l_name);
    END LOOP my_cur_loop;
CLOSE my_cur;

answered Dec 29, 2010 at 16:41

robm's user avatar

robmrobm

4014 silver badges3 bronze badges

1

I ran into this and pulled out my hair till I ran across this in the official mysql docs

Before MySQL 5.6.3, if a statement that generates a warning or error
causes a condition handler to be invoked, the handler may not clear
the diagnostic area. This might lead to the appearance that the
handler was not invoked. The following discussion demonstrates the
issue and provides a workaround.

Click the link and scroll to the bottom for details but the fix was to include a successful select INSIDE the CONTINUE HANDLER:

DECLARE CONTINUE HANDLER FOR NOT FOUND
BEGIN
   SELECT 1 INTO @handler_invoked FROM (SELECT 1) AS t;
END;

AlikElzin-kilaka's user avatar

answered May 15, 2014 at 22:53

DanJGer's user avatar

DanJGerDanJGer

5143 silver badges4 bronze badges

0

I tried the solutions in here and none, including the continue handler worked for me. I still get the messages in the MySQL error log. I discovered this also with my «select … into …» which made sense, but I really thought the continue handler would work for the cursors. Either way I found using «found_rows()» to find out if any rows were returned worked perfectly. This mean that the simple «select into» statements have to be converted to cursors, but it isn’t much work and does solve the problem.

DECLARE v_rowcount      integer unsigned;
DECLARE cur_entries cursor for
        select app_name, proc_name, error_code, sum(occurrences) occurrences
        from that_table...; 
open cur_entries; 
set v_rowcount = found_rows();
if v_rowcount > 0 then
  fetch cur_entries into v_app_name, v_proc_name, v_error_code, v_occurrences;
  ...
end if;
close cur_entries;

I wrote this up on my personal blog here: http://tinky2jed.wordpress.com/technical-stuff/mysql/mysql-no-data-zero-rows-fetched-how-to-code-for-it/

answered May 21, 2013 at 3:16

Jed's user avatar

Normally this happens when you overshoot a cursor range, so checkout the loop conditions where the FETCH statement is

Derlin's user avatar

Derlin

9,5222 gold badges29 silver badges52 bronze badges

answered Jul 12, 2012 at 1:32

Francisco Lemos's user avatar

1

I don’t know if this fixes the cursor issue, but I ran into this warning with a stored function and found that if you use:

RETURN (SELECT x From myTable...);

instead of

SELECT x into myVar...return myVar

I got this from this helpful doc:
http://bugs.mysql.com/bug.php?id=42834

caitriona's user avatar

caitriona

8,4594 gold badges32 silver badges36 bronze badges

answered Apr 26, 2012 at 17:59

box110a's user avatar

0

I was getting the same error in my code, and I realized that I had not incremented my loop variable (using while loop) and hence, the loop was going infinite.

In your code too, you are not setting «done» to 1 anywhere, and I think the code is showing error because of that.

In the below code, instead of the variable «done», I have added a variable «count» that is initialized with the number of records in the table and is decremented after each insertion. The loop is terminated when count=0:

CREATE PROCEDURE `testing_proc`()  
READS SQL DATA  
BEGIN
  DECLARE count INT;
  DECLARE l_name VARCHAR(20);

  SELECT count(*) into count from customer_tbl;

  DECLARE my_cur CURSOR FOR
    SELECT name FROM customer_tbl;

  OPEN my_cur;
    my_cur_loop:
    LOOP FETCH my_cur INTO l_name;
    INSERT INTO names_tbl VALUES(l_name);
    SET count = count - 1;

    IF count = 0 THEN
            LEAVE my_cur_loop;
    END IF;

    END LOOP my_cur_loop;
  CLOSE my_cur;
END

I hope this helps!

answered Apr 2, 2020 at 11:09

Notaprobuthearmeout's user avatar

Описание P1329 ошибки автомобиля Nissan. В нашем справочнике имеется следующая информация:

На русском языке:

Предел контроля детонации цилиндра 5 достигнут 

На английском языке:

Cylinder 5 Knock Control Limit Attained 

Выберите модель для возможности более детального просмотра информации по этой ошибке:

Найти причину   >>> 

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

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

Стало понятно, что просто необходим ресурс в котором можно найти не только общую информацию об OBD2 ошибке, а практические данные по конкретному автомобилю.

Опыт автоэлектриков показал, что если рассматривать определенную марка-модель автомобиля, то в подавляющем большинстве случаев причина возникновения какой либо ошибки одна и также.

Мы создаем, не без вашей помощи, справочник причинно-следственной связи возникновения той или иной OBD2 ошибки у конкретного автомобиля (марка и модель). Если на Ваш автомобиль не найдено описание (причинно-следственной связи) ошибки, то не стесняйтесь задавайте вопрос.

Если у вас есть опыт в устранении той или иной ошибки — делитесь опытом с другими пользователями. Так мы сможем сформировать полезный ресурс. По капле от каждого и всем будет полезно.

Возможно будет интересно:

Если ошибка указывает на неверные параметры (высокие или низкие значения) какого нибудь из датчиков или анализаторов, то вероятней всего этот элемент исправен, а проблему надо искать так сказать «выше по течению», в элементах работу которых анализирует датчик или зонд.

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

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

Описание ошибки B1329
Датчики фронтального удара (FIS) находятся в передней части моторного отсека с обеих его сторон и предназначены для определения лобового столкновения. После поступления сигнала о столкновении от датчика FIS в блок SRSCM последний сверяет эту информацию с показаниями собственного датчика.
Если столкновение определяется датчиком FIS и страховочным датчиком одновременно, блок SRSCM инициирует раскрытие фронтальной подушки безопасности. Если вращать или резко дернуть SRSCM при включенном зажигании, преднатяжитель ремней безопасности, анкерный преднатяжитель, шторка безопасности или боковая подушка безопасности могут сработать и представлять опасность. Обращайтесь с системой аккуратно. В случае любого сбоя связи между датчиком DFIS (датчик фронтального удара на стороне водителя) и блоком SRSCM последний регистрирует код неисправности B1329.

Возможная причина ошибки B1329
Плохое подсоединение устройства.
Неисправность датчика DFIS.
Неисправен блок SRSCM.

Примеры работ по Киа Хендай:


Замена: антифриза, бензобака, бензонасоса, втулок и стоек стабилизатора, гидрокомпенсаторов, гофры и глушителя, датчиков, жидкости ГУР, компрессора кондиционера, масла, маслосъемных колпачков, насоса ГУР, подушки двигателя, подшипников, помпы, приводного ремня, прокладки ГБЦ и КК, пружин и амортизаторов, пыльника и ШРУСа, радиаторов двигателя, кондиционера и печки, рулевых тяг и наконечников, рычагов, сайлентблоков, сальников, свечей зажигания, стекла, сцепления, тормозных колодок и дисков, цепи и ремня ГРМ, шаровых, фильтров…

Замена и ремонт: генератора, двигателя, КПП, рулевой рейки, стартера,

А так же: заправка кондиционера, регулировка зазоров клапанов, шиномонтаж, сход-развал, ремонт электрооборудования, удаление катализатора, промывка — инжектора, радиаторов и форсунок…

Все эти и другие виды работ можно сделать в техцентрах АвтоМиг.

Найдена следующая информация по ошибке B1329 для автомобиля KIA SPORTAGE (2004-2009), JE:

На русском языке:

Короткое замыкание приоткрытой двери пассажира до аккумулятора

На английском языке:

Passenger Door Ajar Circuit Short To Battery

Вы можете задать вопрос или поделиться опытом устранения ошибки B1329 на автомобиле KIA с другими пользователями.

Возможную причину возникновения и советы по устранению можно найти в каталоге причин и советов:

Найти причину   >>> 

Ошибки (коды ошибок) полученные от прибора, сканера требуют правильной интерпретации информации, дабы не тратить время и деньги на замену работающих элементов автомобиля.

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

Может быть полезным для решения вопроса по устранению неисправности у KIA Sportage (JE):

Возможные симптомы — Подсветка двигателя включена (или предупреждающая лампа обслуживания двигателя).

Короткое замыкание цепи аккумулятора двери пассажира на общее описание для кода B1329, но у производителя может быть другое описание. В настоящее время у нас нет дополнительной информации о коде B1329 OBDII.

Многие владельцы Kia Rio, Optima, Sedona, Forte жаловались на то, что индикатор подушки безопасности, расположенный на приборной панели их приборной панели, периодически включается, мигает или горит, а также остается включенным во время движения. Все остальное в автомобиле работает как обычно во всех этих случаях, за исключением того, что свет подушки безопасности включен.

В этой статье вы узнаете о проблемах с подушкой безопасности Kia, которые могут вызвать срабатывание подсветки подушки безопасности/SRS, и о том, как самостоятельно устранить неисправность подсветки подушки безопасности Kia.

Свет подушки безопасности Kia может сработать по нескольким причинам.

Содержание

  • 1
    Общие проблемы с подушкой безопасности Kia

    • 1.1 Коврик для сиденья системы обнаружения пассажиров
    • 1.2 Индикатор подушки безопасности Kia Горит после полной разрядки батареи или ее замены.
    • 1.3 Подсветка подушки безопасности Kia после аварии
  • 2
    Как диагностировать свет подушки безопасности Kia
  • 3
    Другие возможные проблемы
  • 4
    Сервисный бюллетень
  • 5
    ПАССАЖИРСКАЯ ВОЗДУШНАЯ СУМКА “OFF”

    • 5.1 Kia SRS/Компоненты подушек безопасности
  • 6
    Коды неисправностей подушек безопасности

Вот список распространенных проблем, которые могут вызвать включение света подушки безопасности в вашем автомобиле Kia. Модуль подушки безопасности/SRS состоит из нескольких компонентов, и любой из них может работать со сбоями. В действительности отдельные компоненты выходят из строя чаще, чем другие.

Коврик для сиденья системы обнаружения пассажиров

Автомобили Kia оснащены системой обнаружения пассажиров. Он включает датчик на сиденье пассажира, который может обнаружить присутствие пассажира на сиденье. Причина этой системы заключается в том, что если никто не сидит на пассажирском сиденье и вы попали в аварию, подушка безопасности пассажира не сработает, и в этом нет необходимости. Часто это вызывает код неисправности B1448 OBS Mat. Могут быть вызваны другие коды неисправностей, такие как B1447, B1448, B1764, B1767, которые указывают на неисправный коврик датчика пассажира сиденья.

Подушка безопасности пассажира не должна срабатывать, если на пассажирском сидении сидит младенец или ребенок. При нормальной работе индикаторная лампа PASSENGER AIR BAG “OFF” должна быть выключена, когда взрослый сидит на пассажирском сиденье. Свет должен быть включен, когда младенец или ребенок сидит на пассажирском сиденье.

Убедитесь, что электрическое соединение под сиденьем пассажира не ослаблено и не отсоединено. Это общая проблема с автомобилями Kia. После устранения соединения под сиденьем пассажира необходимо осмотреть коврик пассажира (датчик обнаружения пассажира).

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

Индикатор подушки безопасности Kia Горит после полной разрядки батареи или ее замены.

Возможно, вы включите предупреждение о подушке безопасности/SRS:
– после замены батареи
– если у вас был разряженный аккумулятор
– запустил Kia с разряженной батареей

В таких случаях автомобиль обнаруживает низкое напряжение, и модуль управления подушками безопасности включает свет подушки безопасности. Чтобы избежать таких проблем, вы всегда должны выключать зажигание и вынимать ключ при замене батареи. Если у вас разряженная батарея, лучше всего полностью зарядить ее с помощью ручного зарядного устройства, такого как Black & Decker BM3B 6V и 12V Battery Charger/Maintainer, прежде чем снова заводить автомобиль. Всегда вынимайте ключ из замка зажигания, если вы проверяете предохранители и особенно если вы снимаете предохранитель подушки безопасности.

Замените аккумулятор, если прошло более пяти лет. Если аккумулятор более новый, полностью зарядите аккумулятор. Далее следуйте приведенным ниже инструкциям о том, как прочитать и очистить коды от модуля управления подушками безопасности на Kia.

Подсветка подушки безопасности Kia после аварии

Если ваш Kia попал в аварию, модуль подушки безопасности будет хранить данные о сбоях. Если какая-либо из подушек безопасности сработала, то в случае аварии данные о ДТП будут храниться в модуле подушки безопасности Kia.

Важно понимать, что система подушек безопасности Kia управляется модулем подушек безопасности (SRS), который является компьютерным компонентом. Этот компонент использует программное обеспечение определенного типа, которое написано специально для этого компонента (в данном случае, системы подушек безопасности), а программное обеспечение работает на микросхеме, называемой EEPROM.

Программное обеспечение определяет, как работает система подушек безопасности. В некоторых случаях EEPROM необходимо обновить и перепрограммировать из-за ошибки. Эту проблему должен решить дилерский центр, поскольку они могут отправить устройство в ИТ-компанию, которая перепрограммирует его и отправляет обратно им, после чего они могут переустановить его в вашем автомобиле.

Если у вас дилер диагностирует автомобиль в большинстве случаев, он порекомендует заменить модуль. Тем не менее, существует возможность сброса существующего модуля подушки безопасности. Вместо того, чтобы покупать новый модуль, который стоит несколько сотен долларов, подумайте о том, чтобы ремонтный центр перезагрузил существующий модуль. Вы можете найти такую ​​услугу даже в Интернете, см. Сброс модуля ACM SDM ACM SRM RCM Сервис .

Эти службы удаляют как жесткие, так и программные коды из модуля подушки безопасности. После того, как вы вернете свое устройство, вам не нужно будет выполнять какое-либо дополнительное программирование или возвращаться к дилеру для программирования.

Посмотрите видео о том, как диагностировать свет подушки безопасности Kia с помощью сканера Launch Creader OBD-II.


Другие возможные проблемы


Сервисный бюллетень

Кроме того, в феврале 2016 года Kia выпустила сервисный бюллетень, который предоставляется всем отделам обслуживания дилерских центров Kia, в котором содержится информация о замене коврика датчика веса, расположенного на сиденье переднего пассажира.

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

Если сенсорный коврик не работает должным образом (это означает, что подушка безопасности сработает при наличии легкого пассажира, который может нанести им вред), то загорится индикатор подушки безопасности на комбинации приборов, и несколько диагностических кодов неисправностей могут хранить: B1447, B1448, B1449 и/или B1550.

Kia расширила гарантийное покрытие для этого ремонта после выпуска этого бюллетеня до 15 лет/неограниченный пробег, начиная с даты первого обслуживания. Будет обеспечено покрытие для его замены при условии, что это состояние не вызвано внешним повреждением сенсорного мата.


ПАССАЖИРСКАЯ ВОЗДУШНАЯ СУМКА “OFF”

Если система SRS в вашем Kia не работает должным образом, сигнальная лампа подушки безопасности загорится в вашей комбинации приборов. Когда возникает проблема с системой обнаружения пассажиров, индикатор ПАКЕТ ПЕРЕДАЧИ ВОЗДУХА «ВЫКЛ.» не включается, и подушка безопасности пассажира может сработать, даже если на переднем сиденье нет пассажиров.

Kia SRS/Компоненты подушек безопасности


Изображение датчика бокового столкновения, B-pillar 2016, Kia Optima

  • Модуль подушки безопасности водителя

  • Модуль передней подушки безопасности пассажира
  • Датчик бокового столкновения
  • Модуль шторной подушки безопасности
  • Преднатяжитель втягивающего устройства
  • сигнальная лампа подушки безопасности
  • Модуль управления SRS (SRSCM)
  • Датчики переднего и бокового удара
  • Выключатель надувной подушки безопасности пассажира/свет
  • Система обнаружения пассажиров – пассажирское сиденье
  • Устройство аварийного крепления – EFD


Коды неисправностей подушек безопасности

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

  • B1111 Слишком высокое напряжение аккумулятора
  • B1112 Слишком низкое напряжение аккумулятора
  • B1329 Модуль подушки безопасности
  • B1346 Слишком высокое сопротивление DAB
  • B1347 Слишком низкое сопротивление DAB
  • B1348 DAB Короткое заземление
  • B1349 DAB Короткий аккумулятор
  • B1355 PAB Короткое замыкание на аккумулятор
  • B1352 слишком высокое сопротивление PAB
  • B1353 сопротивление PAB слишком низкое
  • B1354 PAB Короткое замыкание на землю
  • B1363 Драйвер BPT Короткое замыкание на землю
  • B1364 Драйвер BPT Короткое замыкание на аккумулятор
  • B1369 Пассажирский BPT Короткий к земле
  • B1370 Пассажирский BPT Короткий к батарее
  • B1378 Слишком высокое сопротивление DSAB
  • B1380 Driver SAB Короткое замыкание на землю
  • B1381 Драйвер SAB Короткое замыкание на аккумулятор
  • B1382 PSAB Сопротивление слишком высокое
  • B1383 PSAB Сопротивление слишком низкое
  • B1397 Сопротивление DSAB слишком низкое
  • B1400 Левый боковой дефект сателлита
  • B1401 Правая сторона спутника коротка к земле
  • B1402 Левая сторона спутника коротка к батарее
  • B1403 Дефект правой стороны сателлита
  • B1406 PPD передний пассажирский дефект
  • B1407 Обнаружение присутствия пассажира Ошибка связи переднего пассажира
  • B1408 Ошибка связи со спутника слева
  • B1410 Ошибка связи в правом спутнике
  • B1511 Переключатель замка ремня безопасности водителя короткого замыкания на аккумулятор
  • B1512 Выключатель замка ремня безопасности водителя на массу или короткое замыкание
  • B1513 Переключатель пряжки ремня безопасности пассажира короткого замыкания на аккумулятор
  • B1514 Выключатель замка ремня безопасности пассажира – на массу или короткое замыкание
  • B1620 Внутренняя ошибка
  • B1650 Crash записал переднюю подушку безопасности
  • B1655 Отказ зафиксированной боковой подушки безопасности
  • B1657 Зажигание зафиксировало преднатяжитель ремня безопасности
  • B1661 ECU не соответствует
  • B2500 Предупреждение Сбой лампы


Автор
Тема: код ошибки В1329 AIR BAG  (Прочитано 9033 раз)


В1328; В1334; В1333 эти коды ошибок подушек скидываются а вот В1329 висит что делать. 


Записан


ИМХО-с подушкой лучше не шутить и просто так ничего не скидывать-все-таки это безопасность!Обратится к дилеру за разъяснениями и ремонтом.Вот что нашла по этой ошибке:»»В памяти блока управления AIR BAG присутствовал код  неисправности В1329 — передний датчик удара водителя — ошибка связи…» Ну и зачем такое сбрасывать,вдруг при аварии что-то не сработает!Пусть в сервисе разбираются!

« Последнее редактирование: Май 25, 2010, 15:43:01 pm от TOR~Ceed~A »


Записан


Записан


B1329 FIS-Driver communication error

Передние датчики удара подключены через один из «проблемных» разъемов — EE12

Очень большая вероятность что причина именно в нем.


Записан

У меня есть хранимая процедура, которая не нуждается в возврате каких-либо значений. Он работает гладко и без проблем. Однако после завершения запуска он выдает сообщение об ошибке:

Ошибка: нет данных — нулевые строки выбраны, выбраны или обработаны

Как я могу избавиться от этого сообщения об ошибке?

CREATE PROCEDURE `testing_proc`()  
    READS SQL DATA  
BEGIN  
    DECLARE done INT DEFAULT 0;
    DECLARE l_name VARCHAR(20);
    DECLARE my_cur CURSOR FOR
        SELECT name FROM customer_tbl;
    OPEN my_cur;
        my_cur_loop:
        LOOP FETCH my_cur INTO l_name;
            IF done = 1 THEN
                LEAVE my_cur_loop;
            END IF;
            INSERT INTO names_tbl VALUES(l_name);
        END LOOP my_cur_loop;
    CLOSE my_cur;
END

4b9b3361

Ответ 1

Я думаю, вы просто забыли включить следующую строку в свой пост:

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

Ваш код верен, но ошибка/странное поведение mysql вызывает появление предупреждения, даже если оно было обработано. Вы можете избежать этого, если вы добавите оператор «dummy» в конец вашей процедуры, который вызывает таблицу и будет успешным, это очистит предупреждение. (См. http://dev.mysql.com/doc/refman/5.5/en/show-warnings.html)
В вашем случае:

SELECT name INTO l_name FROM customer_tbl LIMIT 1;

после окончания цикла.
В MySQL 5.5.13 предупреждение исчезает, в Linux и Windows.
Я прокомментировал MySQL Bug 60840, и я надеюсь, что они исправит это некоторое время в будущем…

Ответ 2

Вам нужно определить обработчик continue:

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

Итак, это будет выглядеть так:

DECLARE done INT DEFAULT 0;
DECLARE l_name VARCHAR(20);
DECLARE my_cur CURSOR FOR
    SELECT name FROM customer_tbl;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

OPEN my_cur;
    my_cur_loop:
    LOOP FETCH my_cur INTO l_name;
        IF done = 1 THEN
            LEAVE my_cur_loop;
        END IF;
        INSERT INTO names_tbl VALUES(l_name);
    END LOOP my_cur_loop;
CLOSE my_cur;

Ответ 3

Я столкнулся с этим и вытащил свои волосы, пока не натолкнулся на это в официальных mysql docs

Перед MySQL 5.6.3, если инструкция, которая генерирует предупреждение или ошибку вызывает вызов обработчика условия, обработчик может не очищать диагностической области. Это может привести к появлению обработчик не был вызван. Следующее обсуждение демонстрирует выдает и обеспечивает обходное решение.

Нажмите ссылку и прокрутите страницу вниз, чтобы узнать подробности, но исправить было включение успешного выбора INSIDE the CONTINUE HANDLER:

  DECLARE CONTINUE HANDLER FOR NOT FOUND
    BEGIN
       SELECT 1 INTO @handler_invoked FROM (SELECT 1) AS t;
    END;

Ответ 4

Я попробовал решения здесь, и никто, включая обработчик продолжения, работал у меня. Я все еще получаю сообщения в журнале ошибок MySQL. Я обнаружил это также с моим «выбором… в…», что имело смысл, но я действительно думал, что обработчик продолжения будет работать для курсоров. В любом случае, я нашел использование «found_rows()», чтобы узнать, были ли возвращены какие-либо строки. Это означает, что простые выражения «select into» должны быть преобразованы в курсоры, но это не так много работы и решает проблему.

DECLARE v_rowcount      integer unsigned;
DECLARE cur_entries cursor for
        select app_name, proc_name, error_code, sum(occurrences) occurrences
        from that_table...; 
open cur_entries; 
set v_rowcount = found_rows();
if v_rowcount > 0 then
  fetch cur_entries into v_app_name, v_proc_name, v_error_code, v_occurrences;
  ...
end if;
close cur_entries;

Я написал это в своем личном блоге здесь: http://tinky2jed.wordpress.com/technical-stuff/mysql/mysql-no-data-zero-rows-fetched-how-to-code-for-it/

Ответ 5

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

RETURN (SELECT x From myTable...);

вместо

SELECT x into myVar...return myVar

Я получил это от этого полезного документа:
http://bugs.mysql.com/bug.php?id=42834

Ответ 6

Обычно это происходит, когда вы превышаете диапазон курсора, поэтому проверяйте условия цикла, в которых оператор FETCH

Понравилась статья? Поделить с друзьями:
  • Код ошибки 1325
  • Код ошибки 13210
  • Код ошибки 1320 расшифровка
  • Код ошибки 1320 ниссан санни fb15
  • Код ошибки 1320 ниссан примера р12