Пряма запись в таблицы mySQL. Знак "_" в имени колонки.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вообще символ подчёркивания в идентификаторах MySql можно использовать даже без кавычек.
http://dev.mysql.com/doc/refman/5.0/en/identifiers.html
Так что желательно уточнить - какой драйвер используется и каким образом.
Так что желательно уточнить - какой драйвер используется и каким образом.
(3)А вы сами пробовали? У меня 1с выдавала ошибку, вроде и на 5 версии драйвера. Вот еще покопал походу это проблема самой 1с. Единственное решение пока неашел, но у меня на XP не заработало
http://infostart.ru/public/176787/
(4) V_K, В конфигураторе откройте свойства проблемного поля с подчеркиванием в названии, найдите свойство "Имя в источнике данных" и возьмите его в апострофы, например 'outbound_cnum'. 1С запрос будет его брать корректно
Думаю не заработает вот нашел инфу в интернете
Цитата
Ошибки исправленные в 8.3.1.531
10103123 (SW672486) Поле внешнего источника данных MySQL, содержащее знак подчеркивания в имени
Проблема:
При обращении к полю внешнего источника данных MySQL, содержащему в имени знак подчеркивания, происходит ошибка
Ошибка выполнения запроса по причине: Ошибка внешней базы данных: ошибка при выполнении запроса по причине: Ошибка ODBC. SQLSTATE: 42000 Номер ошибки: 1064 Описание: [MySQL][ODBC 5.1 Driver][mysqld-5.0.51a-24+lenny5-log] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"partner_id"
А у меня 8.2
Цитата
Ошибки исправленные в 8.3.1.531
10103123 (SW672486) Поле внешнего источника данных MySQL, содержащее знак подчеркивания в имени
Проблема:
При обращении к полю внешнего источника данных MySQL, содержащему в имени знак подчеркивания, происходит ошибка
Ошибка выполнения запроса по причине: Ошибка внешней базы данных: ошибка при выполнении запроса по причине: Ошибка ODBC. SQLSTATE: 42000 Номер ошибки: 1064 Описание: [MySQL][ODBC 5.1 Driver][mysqld-5.0.51a-24+lenny5-log] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"partner_id"
А у меня 8.2
Мне посоветовали ADO использовать пока не проверял но в примере видел что обращаются к таким колонкам.
Вот
Попытка
ADOСоединение = Новый COMОбъект("ADODB.Connection");
ADOСоединение.Open("Provider=SQLOLEDB.1;
|Persist Security Info=False;
|User ID="+Пользователь+";
|Password="+ Пароль+";
|Initial Catalog="+ База+";
|Data Source="+ Сервер);
Возврат ADOСоединение;
Исключение
КонецПопытки;
ТекстЗапросаТоваров = "SELECT *
| FROM [IMPORT_PRODUCTS]
| where[orders_id] in (SELECT [orders_id] FROM [IMPORT_ORDERS] where (([orders_UUID] = '')
|or ([orders_UUID] = 'NULL') or([modified] = '1')))";
ADOНаборДанныхТовары = Новый COMОбъект("ADODB.RecordSet");
ADOНаборДанныхТовары .Open(ТекстЗапросаТоваров, мADOСоединение);
Вот
Попытка
ADOСоединение = Новый COMОбъект("ADODB.Connection");
ADOСоединение.Open("Provider=SQLOLEDB.1;
|Persist Security Info=False;
|User ID="+Пользователь+";
|Password="+ Пароль+";
|Initial Catalog="+ База+";
|Data Source="+ Сервер);
Возврат ADOСоединение;
Исключение
КонецПопытки;
ТекстЗапросаТоваров = "SELECT *
| FROM [IMPORT_PRODUCTS]
| where[orders_id] in (SELECT [orders_id] FROM [IMPORT_ORDERS] where (([orders_UUID] = '')
|or ([orders_UUID] = 'NULL') or([modified] = '1')))";
ADOНаборДанныхТовары = Новый COMОбъект("ADODB.RecordSet");
ADOНаборДанныхТовары .Open(ТекстЗапросаТоваров, мADOСоединение);
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот