Пряма запись в таблицы mySQL. Знак "_" в имени колонки.

1. V_K 21.07.13 18:18 Сейчас в теме
Столькнулся с проблемой что стандартный драйвер не дает возможности прописывать данны в mySQL в колонки с знаком "_". Может кто знает решение?
Интересует решение по XP и цштвщцы 7.
+
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. rboy 22.07.13 01:36 Сейчас в теме
Эта ветка про 1с 8.2 не ошиблись с темой?
+
3. recip 22.07.13 02:52 Сейчас в теме
Вообще символ подчёркивания в идентификаторах MySql можно использовать даже без кавычек.
http://dev.mysql.com/doc/refman/5.0/en/identifiers.html

Так что желательно уточнить - какой драйвер используется и каким образом.
+
4. V_K 22.07.13 11:28 Сейчас в теме
(3)А вы сами пробовали? У меня 1с выдавала ошибку, вроде и на 5 версии драйвера. Вот еще покопал походу это проблема самой 1с. Единственное решение пока неашел, но у меня на XP не заработало
http://infostart.ru/public/176787/
+
12. ulug 30.08.16 12:56 Сейчас в теме
(4) V_K, В конфигураторе откройте свойства проблемного поля с подчеркиванием в названии, найдите свойство "Имя в источнике данных" и возьмите его в апострофы, например 'outbound_cnum'. 1С запрос будет его брать корректно
MsDjuice; it-volna.com; +2
13. it-volna.com 18 22.03.18 22:58 Сейчас в теме
(12)
'outbound_cnum'
СПАСИБО!!!
+
5. V_K 22.07.13 11:31 Сейчас в теме
Может кто еще что встречал?
+
6. Ёпрст 1063 22.07.13 11:37 Сейчас в теме
ну экранируй [], например
+
7. V_K 22.07.13 11:45 Сейчас в теме
Думаю не заработает вот нашел инфу в интернете

Цитата
Ошибки исправленные в 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. V_K 22.07.13 11:46 Сейчас в теме
С учетом цитаты выше я полагаю что во всех релизах 8.2 ошибка оставалась.
+
9. Ёпрст 1063 22.07.13 11:47 Сейчас в теме
ну и не используй внешние источники, пиши тупо запрос по ado
+
10. Exact 06.08.13 19:24 Сейчас в теме
Проблема с нижним подчеркиванием существует и в 1С 8.3 (8.3.3.641)
Serj1C; +1
11. V_K 06.08.13 19:29 Сейчас в теме
Мне посоветовали 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Соединение);
+
14. IvSchekin 22.03.18 23:55 Сейчас в теме
на стороне базы напиши процедуру по дабавлению записи. Вызывай ее а она уже будет инсертить запись.
+
15. IvSchekin 23.03.18 04:01 Сейчас в теме
Если надо читать данные напиши на стороне базы вьюхи под свои нужды и в них поля называй без '_'
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот