Внешние источники. Подключение к сайту к базе MySQL для обмена. Ошибка ODBC. SQLSTATE: 42000

1. пользователь 31.01.13 14:14
Сообщение было скрыто модератором.
...
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. пользователь 31.01.13 14:17
Сообщение было скрыто модератором.
...
3. shootnik_kl 28 31.01.13 15:02 Сейчас в теме
Глюк платформы - нижнее подчеркивание в именах полей приводит к такой ошибке.
4. пользователь 31.01.13 15:06
Сообщение было скрыто модератором.
...
5. пользователь 31.01.13 15:09
Сообщение было скрыто модератором.
...
6. Ёпрст 1063 31.01.13 15:13 Сейчас в теме
написать запрос через адо
7. shootnik_kl 28 31.01.13 15:27 Сейчас в теме
По крайней мере в 8.3 пишут что исправили)
Еще вариант сделать на проблемные таблицы вьюхи, где имена соответствующих полей будут без "_".
8. php5 25 31.01.13 15:31 Сейчас в теме
Я долго мучался с подключением к веб-сайту. Никак не хотела подключаться, 1С не видела сервера MYSQL. Оказалось что многие хостинги пускают к своей базе только через SSH тунель. Пришлось использоваться PuTTY для подключения к хостингу, а там уже как localhost обращаешься к MYSQL.
9. пользователь 31.01.13 15:49
Сообщение было скрыто модератором.
...
10. shootnik_kl 28 31.01.13 15:55 Сейчас в теме
Практически я сам ими не пользовался, но вот вроде понятно написано http://habrahabr.ru/post/47031/, правда, если много таблиц нужно, то не понятно оправдано будет их использование или нет.
11. пользователь 31.01.13 15:58
Сообщение было скрыто модератором.
...
12. пользователь 31.01.13 16:02
Сообщение было скрыто модератором.
...
13. пользователь 31.01.13 16:02
Сообщение было скрыто модератором.
...
14. shootnik_kl 28 31.01.13 16:11 Сейчас в теме
Я, на самом деле, до практической реализации не доходил - так поигрался... у меня не выкидывало при раскрытии таблиц, а поля отображались нормально, только на запросе с подчеркиванием ошибка была.
15. пользователь 01.02.13 12:45
Сообщение было скрыто модератором.
...
16. пользователь 01.02.13 13:34
Сообщение было скрыто модератором.
...
17. Ibrogim 1313 01.02.13 13:44 Сейчас в теме
(16) Eugeneer,
Шо делать?

ждать когда фирма 1С исправит свой замечательный но недоделанный инструмент...
P.S. у ВИД много ещё глюков, например не получится использовать конструкцию Выбор Когда...
18. пользователь 01.02.13 13:50
Сообщение было скрыто модератором.
...
19. sergathome 4 01.02.13 21:19 Сейчас в теме
Полный текст исполняемого запроса - в студию. Ошибка чётко указывает на еррор в синтаксе ;)
Такие ошибки возникают если в текст запроса попадают лишние апострофы, например.
T2."delivery_d' at line 2
-- это случайно ?
20. пользователь 01.02.13 21:43
Сообщение было скрыто модератором.
...
21. sergathome 4 01.02.13 22:19 Сейчас в теме
Копай в направлении вот каком : Поставщик = Д'Артаньян ;))
| providers_prices.provider_id.short_name КАК Поставщик
22. servs 65 01.02.13 22:26 Сейчас в теме
ADODB юзай, и партнеры твои его наверное тож юзают. А мож у партнеров спроси? Че голову ломать? И потом нам сюда напиши
23. citivik 02.02.13 13:11 Сейчас в теме
дело в названии колонок в mysql, видимо в платформе какой то баг, из колонок типа "refresh_date" удали "_" и все заработает (Ошибки исправленные в 8.3.1.531)
24. пользователь 02.02.13 13:18
Сообщение было скрыто модератором.
...
25. пользователь 02.02.13 18:26
Сообщение было скрыто модератором.
...
26. servs 65 04.02.13 11:28 Сейчас в теме
(25) Если тебе источник только для чтения нужен, то сделай вьюху, это как динамический список только в терминах БД.
27. maximus_80 04.02.13 14:12 Сейчас в теме
В запросах к mysql я пользуюсь не двойными кавычками, а знаком `.
Работает все правильно
Пример
T1.`refresh_date`,
T1.`pricelist_id`,
T1.tablename,
msergeev79; +1 Ответить
28. пользователь 04.02.13 14:16
Сообщение было скрыто модератором.
...
29. kuzmenkoS 20.08.13 21:50 Сейчас в теме
В какой платформе уже все ок с этой проблемой?
30. RomanNogovitsin 04.02.14 23:27 Сейчас в теме
(29) Подключаюсь к FoxPro. Платформа 8.3.4.389. Проблема с нижним подчеркиванием не решена.
31. Stepan_1c 25.05.14 20:57 Сейчас в теме
всем здравствуйте. сегодня вот тоже столкнулся с подобным. проблема решена у кого нибудь подобная?
32. awk 741 25.05.14 22:10 Сейчас в теме
33. Stepan_1c 26.05.14 07:01 Сейчас в теме
(32) awk, спасибо. решил для себя переименованием колонок - убрал "_" и цифры из начала. хотя недавно на 8.2 без проблем всё запускал. видимо это проблема именно 8.3
34. primara 53 30.12.14 12:49 Сейчас в теме
(33) Stepan_1c, а переименование колонок где именно?
35. primara 53 30.12.15 14:56 Сейчас в теме
Может быть, кому-то поможет, поэтому воскрешу старую тему.
Переименовывать колонки не обязательно, к тому же это может быть очень трудоемко.
Достаточно в параметрах подключения к базе указать тип базы:

ConnectionParameters = New ExternalDataSourceConnectionParameters;

ConnectionParameters.DBMS = "MySQL";

Все работает стабильно и по сей день. Используется как построчная, так и пакетная запись в таблицы MySQL, все очень довольны. :-)
Prikum; Xellsing; msergeev79; Fatov_DI; fmwmf; dablack; sur0g; KazanKokos; Tommy82; ce1tic; b1waver; +11 Ответить
36. mm.krasko 22.03.16 21:47 Сейчас в теме
(35) primara, Спасибо, огромное! Голову уже сломал.
38. Denis.S 14.04.16 16:05 Сейчас в теме
(36) mm.krasko, а где ввести эти данные ? ConnectionParameters = New ExternalDataSourceConnectionParameters;

ConnectionParameters.DBMS = "MySQL";
42. mentozavr 68 13.09.18 15:14 Сейчас в теме
(35) Блин Вам огромное спасибо. я сутки голову ломал.
37. Denis.S 14.04.16 15:47 Сейчас в теме
35. primara а где ввести эти данные ? ConnectionParameters = New ExternalDataSourceConnectionParameters;

ConnectionParameters.DBMS = "MySQL";
39. primara 53 22.09.16 11:03 Сейчас в теме
(37) Denis.S, данные вводятся программно, у меня, например, при старте системы
ПараметрыСоединения = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
далее Пользователь, Пароль и прочее и в конце:
ПараметрыСоединения.СУБД = "MySQL";
user966618; sur0g; Илларион; +3 Ответить
40. mcbk 15.05.17 11:09 Сейчас в теме
Была проблема аналогичная.. помогло в строке подключения указать ;LANGUAGE=русский
41. LomayaZakat 11.05.18 09:48 Сейчас в теме
Кто-нибудь знает решение данной проблемы?
43. marat3581525 04.08.20 08:59 Сейчас в теме
(41) Приветствую!
Столкнулся с подобной проблемой. Советы, описанные выше, не помогли. Тебе удалось решить данную проблему?))) хотя 2 года почти прошло, может вспомнишь
44. LomayaZakat 04.08.20 09:20 Сейчас в теме
(43)Я смутно помню, но по-моему имена разделов надо указывать с '. А так да, проблему я решил и подключился вроде как.
46. marat3581525 04.08.20 09:34 Сейчас в теме
(44) Спасибо. Удалось разобраться самому.
45. marat3581525 04.08.20 09:31 Сейчас в теме
В общем, сейчас 2020 год, использую платформу 8.3.16 (х64), в ней все еще такая же ошибка.

Помогло следующее:

1. Предварительно добавляете таблицу в своем внешнем источнике данных;

2. В коде своей обработки при работе с этой таблице надо еще раз прописать параметры подключения и присвоить эти параметры подключения вашему внешнему источнику данных:

ПараметрыСоединения = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
ПараметрыСоединения.СтрокаСоединения = "

// Здесь указываете строку соединения, которую указывали когда добавляли таблицу в своем внешнем источнике данных.
|DRIVER={MySQL ODBC 8.0 ANSI Driver};
|SERVER=localhost;
|PORT=Порт;
|DATABASE=ИмяБазы;";

ПараметрыСоединения.АутентификацияСтандартная = Истина;
ПараметрыСоединения.ИмяПользователя = Логин;
ПараметрыСоединения.Пароль = Пароль;
ПараметрыСоединения.СУБД = "MySQL";

ВнешниеИсточникиДанных.ИмяВашегоИсточникаДанных.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения);
ВнешниеИсточникиДанных.ИмяВашегоИсточникаДанных.УстановитьСоединение();



Все, после этого можете делать с вашей таблицей что угодно: либо читать данные через запрос, либо добавлять записи в вашу таблицу.
47. user1570779 25.06.21 15:13 Сейчас в теме
Шел 2021 так ничего и не исправили :D
48. user1426834 25.07.22 10:54 Сейчас в теме
привет из 22...без изменений
Оставьте свое сообщение

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