![]() |
![]() |
![]() |
|
Проблема выборки данных из внешнего источника с "_" в названиях полей [mySql, 1Cv8.2.18+] | ☑ | ||
---|---|---|---|---|
0
SleepyFly
03.07.19
✎
16:42
|
Коротко - есть баг от 2012-06-14 порд номером 10103123 (SW672486):
При обращении к полю внешнего источника данных MySQL, содержащему в имени знак подчеркивания, происходит ошибка - это поле обрамляется двойными кавычками и SQL запрос не проходит проверку синтаксиса. Этот баг появился после версии 8.2.14.519 и не исправлен до версии 8.3.13.1690 включительно (что с более позними не знаю) Так вот - я нашел достаточно элегантное решение этой проблемы. Дело в том, что MySQL синтаксис позволяет интерпретировать двойные кавычки, как одинарную косую кавычку (которая и используется для обрамления имен полей и таблиц) при включенном режиме ANSI_QUOTES. Чтобы использовать эту возможность - необходимо: 1. Создать системный MySQL ODBC DSN со всеми нужными данными для подключения. 2. В поле Initial Statement вписать запрос на установку нужного режима для сессии: SET SESSION SQL_MODE=ANSI_QUOTES; 3. Рекомендую установить галочку Allow Multiple Statements для возможности исполнения нескольких запросов за раз. 4. НЕ ИСПОЛЬЗОВАТЬ двойные кавычки в тексте запроса, заменить их одинарными при необходимости. 5. Для подключения к внешнему источнику я использую следующий код: ПараметрыСоединения = Новый ПараметрыСоединенияВнешнегоИсточникаДанных; ПараметрыСоединения.АутентификацияОС = Истина; //Без этой строки данные аутентификации DSN не учитываются ПараметрыСоединения.СтрокаСоединения = "DSN=" + ИмяВашегоDSN; ВнешниеИсточникиДанных.mysql.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения); ВнешниеИсточникиДанных.mysql.УстановитьСоединение(); ... ВнешниеИсточникиДанных.mysql.РазорватьСоединение(); Надеюсь было полезно. |
|||
1
shuhard
03.07.19
✎
18:42
|
(0)[Надеюсь было полезно.]
нет, от слова совсем |
|||
2
rsv
03.07.19
✎
20:18
|
(0) ...что мешает юзать ADO и не подсаживаться на зависимость от движка 1с ?
|
|||
3
Garykom
гуру
03.07.19
✎
20:54
|
(2) Кто мешает написать обертку на чем угодно которое предоставляет для 1С http-сервис?
|
|||
4
rsv
03.07.19
✎
20:59
|
(3) опять что то ваять ... смысл. Адо в винде по умолчанию дрова поставить только для мускула
|
|||
5
rsv
03.07.19
✎
20:59
|
сервисы сервера обертки ....
|
|||
6
Garykom
гуру
03.07.19
✎
21:01
|
(4) Сервер не на винде уже давно не редкость или фреш.
К черту ado. |
|||
7
Garykom
гуру
03.07.19
✎
21:02
|
Кто все еще использует ADO в 2019 году, просто не смог освоить ничего получше.
|
|||
8
Garykom
гуру
03.07.19
✎
21:04
|
||||
9
rsv
03.07.19
✎
21:04
|
(7) пописывать http сервисы и парясь мегапростыни Jason?
|
|||
10
Garykom
гуру
03.07.19
✎
21:05
|
(9) Не освоил? Там писать меньше чем с ADO, работает быстрее и удобнее.
Можно сразу в объекты 1С превращать. |
|||
11
rsv
03.07.19
✎
21:07
|
(10) так где ваять ? На стороне мускула ?
|
|||
12
Garykom
гуру
03.07.19
✎
21:08
|
(11) На стороне 1С или на стороне сервиса, mysql не трогается.
|
|||
13
rsv
03.07.19
✎
21:08
|
(12) вот и я про то ... на стороне того кто отдаёт
|
|||
14
Garykom
гуру
03.07.19
✎
21:09
|
(12)+ И если что достаточно просто сменить mysql на нечто иное ибо у нас есть прокладка в виде rest.
Не переписывая 1С часть. |
|||
15
Garykom
гуру
03.07.19
✎
21:09
|
(13) Не обязательно, можно и в 1С.
|
|||
16
rsv
03.07.19
✎
21:10
|
(14) :) если есть желание городить огород по отдаче инфы от источника в виде прокладок ...это выбор .
|
|||
17
rsv
03.07.19
✎
21:11
|
А можно по простому и понадёжней . Доступ к табличкам и норм
|
|||
18
rsv
03.07.19
✎
21:12
|
Или в мускуле таблицы в виде... треугольника ?:)
|
|||
19
Garykom
гуру
03.07.19
✎
21:14
|
(17) Для меня ADO это не "просто и надежно" а deprecated
|
|||
20
rsv
03.07.19
✎
21:18
|
даже городя огород с прокладками в видео сервиса все равно придётся задействовать sql для дергания инфы из таблиц .... лучше уж сразу дергать из получателя без посредников
|
|||
21
Garykom
гуру
03.07.19
✎
21:27
|
(20) ADO по вашему не посредник?
|
|||
22
rsv
03.07.19
✎
21:35
|
(21) естественно это универсальный посредник для доступа к данным
|
|||
23
rsv
03.07.19
✎
21:39
|
Но без этих всех шаманств с жесонами хмелями вебсерверами :)
|
|||
24
rsv
03.07.19
✎
21:40
|
Как то было дело .работал работал сервис соап а потом
Закончилось банальщиной адо и табличками :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |