[ОТВЕТИТЬ]
Опции темы
13.08.2015 09:36  
УКМ_эксплуатант_2
Не торопясь переводим бэк с самописки на 1С.
Столкнулись с тем, что 1С не может работать с таблицей signal - дает ошибку. По словам 1С-программистов "запрос формируется автоматически 1С-ом и поставить ` вокруг signal нет возможности". Из-за того, что имя таблицы совпадает с ключевым словом MySQL.
Обошли следующим образом:
на запись создал процедуру:
SQL код:
CREATE DEFINER 'ВАШ_ПОЛЬЗОВАТЕЛЬ'@'%' PROCEDURE `SaveSignal`(
        
IN sig_nal CHAR(10),
        
IN ver_sion BIGINT(11)
    )
    
NOT DETERMINISTIC
    CONTAINS SQL
    SQL SECURITY DEFINER
    COMMENT 
''
BEGIN
   insert into 
`signal`  (`signal`,versionvalues (sig_nal,ver_sion);
END
а на чтение - представление (вьюха в терминологии 1С-ников):
SQL код:
CREATE ALGORITHM=UNDEFINED DEFINER=`ВАШ_ПОЛЬЗОВАТЕЛЬ`@`%SQL SECURITY DEFINER VIEW `sig_nal_view` AS 
  
select 
    
`signal`.`signal` AS `sig_nal`,
    `
signal`.`version` AS `ver_sion
  
from 
    
`signal`; 
И все заработало.

З.Ы. Процедуры и представления делал в EMS MySQL Manager-е и синтаксис отдан полностью на его усмотрение. ВАШ_ПОЛЬЗОВАТЕЛЬ - там была моя учетка и на что она влияет - не разбирался. Самое главное у 1С-ников все заработало.

З.З.Ы. Пока писал - в голову пришла мысль что подобное поведение можно регулировать настройками в my.ini Может кто помнит параметр на вскидку?
 
"Спасибо" УКМ_эксплуатант_2 от:
 
Опции темы



Часовой пояс GMT +3, время: 15:03.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.