bdd2

Внешняя компонента Addin.MySQLConnection

Опубликовал serguey_again (serguey_again) в раздел Программирование - Внешние компоненты

Компонента для подключения к mysql-серверам, не требует наличия никаких дополнительных библиотек кроме стандартных для Windows, работает со всеми серверами

Компонента для подключения к mysql-серверам,
не требует наличия никаких дополнительных библиотек кроме стандартных для Windows,
работает со всеми серверами до версии 6.0
Для работы НЕ нужна библиотека libmysql.dll

Mysql is copyright by MySQL AB. Refer to their site ( http://www.mysql.com ) for licencing issues.
Zlib is copyright by Jean-loup Gailly and Mark Adler. Refer to their site for licencing issues. ( http://www.info-zip.org/pub/infozip/zlib/ )
Основано на библиотеке Cristian Nicola (n_cristian@hotmail.com)
Предложения и пожелания приветствуются на serguey@hotbox.ru

Версия 2.1.4:
Исправлено: методы СоздатьБазуДанных и УдалитьБазуДанных выдают ошибку на версиях серверов более 5.0.83. (замечено Дмитрий Генрихс ака Близнец)
Для серверов версий выше методы СоздатьБазуДанных и УдалитьБазуДанных выполняют запросы create database `db` и drop database `db`.

Версия 2.1.3:
Поддержка 1С 8.0 и 8.1
Новый метод Клонировать - создание копии клиента (пример в обработке)
Восстановлено обращение к полям наприяму - Клиент._ИмяПоля
Работа проверена на серверах 4.1.22, 5.0.83, 5.1.37 в 1С 7.7.0.27 и 1С 8.1.14.72 в Windows XP SP2, Windows Vista и Windows 7.
Обновлен клиент - 4.1.1
Включена демобаза для 1С 8.1
Включены исходники.

Версия 2.1.2:
Небольшое добавление: при обращении к методам Получить..., Заполнить... производится обращение из компоненты к 1С через средства OLE Automation
(создаются объекты СписокЗначений или ТаблицаЗначений)
 - поэтому пользователю 1С для работы с компонентой нужны на это соотвествующие права в конфигурации.
Иначе будет что-то типа AddIn.MySQLConnection : External exception E06D7363. (добавлено благодаря V.I.K)

Версия 2.0.1:
Включена поддержка нового протокола шифрования паролей (для серверов 4.1 версии и более) (реквизит ИспользоватьНовыеПароли/UseNewpassword - по умолчанию - 1).
Но убрана возможность обращения к полям напрямую (например: Соединение._MyField).
И изменено поведение метода ПолучитьПараметрыПоля: теперь он берет 2 параметра: 1 - имя или индекс поля, 2 - что вы хотите получить на выходе (0 - по умолчанию, имя или индекс поля, 1 - тип поля, 2 - длина, 3 - точность, 4 - флаги поля)
Демо обработка включена в конфигурацию, архив которой прилагается...
Обновлен архив, включен als-файл

Версия 1.9.1:
Ввел возможность обхода потери точности при преобразовании OLE типа R8 в 1С тип Число.
Проблему обозначил leshik.
В документации к Внешним компонентам говорится,
что у 1С свой числовой формат с фиксированной точкой
и поэтому может происходить потеря точности при преобразованиях.
Если в 1С у реквизита формы или поля таблицы назначить тип Число,
присвоение строкового значения преобразуется самой 1С,
поэтому ввел два режима работы - компонента преобразует нужный тип или сама 1С это делает.
Включил в дистр. тестовую обработку. Также в ней пример запроса длиной более 255 символов.

Скачать файлы

Наименование Файл Версия Размер
Внешняя компонента Addin.MySQLConnection
.zip 738,24Kb
06.04.12
576
.zip 738,24Kb 576 Бесплатно

См. также

Добавить вознаграждение
Комментарии
1. Олег (lov-kot) 02.09.06 10:54 Сейчас в теме
2. Alex_Bob (alex_bob) 06.09.06 08:24 Сейчас в теме
А нельзя ли добавить что-то типа истории версий? До этого работал с версией 2.0.1 проблем не было. В чем отличия версии 2.1.2? А так - очень помогает, спасибо. +1
3. Asbest 24.12.06 08:34 Сейчас в теме
4. Алексей Шачнев (shachneff) 31.10.07 15:56 Сейчас в теме
для 8.1 версию дождаться реально?
5. Михаил (mdzen) 234 31.10.07 21:05 Сейчас в теме
6. Денис (CardinalDen) 20.11.08 13:37 Сейчас в теме
поддерживаю уважаемого shachneff - можно ли ждать для 8.1?
7. Александр Трофимов (trof) 26.02.09 16:17 Сейчас в теме
Ждем для 8.1 ... очень ждем!!!
8. serguey_again (serguey_again) 63 14.08.09 04:50 Сейчас в теме
9. Олег Бочагов (iohansson) 08.09.09 20:05 Сейчас в теме
проблема с кодировкой при записи в базу mysql, кириллические символы превращаются в "?", в базе стоит кодировка cp1251, даже если в запросе при записи в базу писать CONVERT('наим' USING cp1251), все равно записывается как "?", что делать??

заранее спасибо...
10. Олег Бочагов (iohansson) 08.09.09 20:18 Сейчас в теме
разобрался, простите за флуд...
11. Вячеслав (Medvedik) 12.08.11 11:00 Сейчас в теме
Подскажите, какова максимальная длина запроса, который будет успешно обработан?
12. Denis (diocompany) 27.09.11 12:08 Сейчас в теме
Не хочет коннектиться к базе мускула.
1С уходит в себя и потом пишет ошибку.
И так, и сяк плясал с бубном. Ни в какую.
Что-то, с чем-то не совмещается.
Сервер, логин и пароль все рабочие и т.д.
Подключался из 1c 7.7
13. Вячеслав (Medvedik) 27.09.11 12:35 Сейчас в теме
(12) Хостинг позволяет подключение с любого ip? Может нужно прописать в правило доступа к серверу свой ip
14. Denis (diocompany) 27.09.11 13:01 Сейчас в теме
(13) Medvedik,

Спасибо за ответ.

Давайте попробую ответить вот как.
Через phpmyadmin базой я управляю без проблем.
Так же через скрипт php подключаюсь к базе, могу сформировать запрос к таблицам, с выводом результатов на экран.
Предполагаю, что подключение возможно с любого ip. Это моё предположение. Возможно я ошибаюсь.
15. Ийон Тихий (cool.vlad4) 41 27.09.11 13:04 Сейчас в теме
(14) с большой вероятностью - ошибаешься. Хостинг чужой верно? Узнавай у них, но как правило прямой доступ они запрещают.
16. Вячеслав (Medvedik) 27.09.11 13:32 Сейчас в теме
(14) Вероятнее всего, вы ошибаетесь. Свяжитесь с тех. поддержкой хостера, пусть подскажут, как прописать ваш ip для доступа с него к БД
17. Denis (diocompany) 27.09.11 14:07 Сейчас в теме
(15) cool.vlad4, (16) Medvedik,

Да, хостинг чужой!
Использую бесплатный хостинг от http://radyx.ru/
Это для отладки, экспериментов и т.д.

Но скажу по секрету, что использую так же платный хостинг от http://masterhost.ru/
И туда не могу попасть через ВК.

В голове рождаются следующие мысли:
1. Вряд ли захочется бесплатному хостеру каждому встречному-поперечному давать прямой доступ к базе скула.
2. Пол беды, доступ с работы к БД, ip постоянный. А из дома получится совсем засада, потому как дома выделяется динамическая статика.

Буду признателен за ваши мысли по этим пунктам!
18. Ийон Тихий (cool.vlad4) 41 27.09.11 14:18 Сейчас в теме
19. Вячеслав (Medvedik) 27.09.11 14:32 Сейчас в теме
(17)
1. Именно
2. Это сейчас не дорого, можно и домой заказать. Мне не часто нужно обновлять прайс, я руками прописываю текущий ip раз в неделю.
20. Denis (diocompany) 27.09.11 14:58 Сейчас в теме
(18) cool.vlad4,

Для тех кто в каске, как я, поясните про ssh доступ.
Как мне его проверить.

Могу предложить следующее, если есть время и желание.
Проверить возможность доступа к MySQL базе от Вас. :)

(19) Medvedik,

Всё равно как-то неудобно. :)
21. Ийон Тихий (cool.vlad4) 41 27.09.11 15:18 Сейчас в теме
(20)спросить у провайдера, можно поднять туннель ssh(пробросить порт mysql), - как? прочитать в инете
http://yandex.ru/yandsearch?text=%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF+%D0%BA+mysql+%D1%8­7%D0%B5%D1%80%D0%B5%D0%B7+ssh&lr=213
Я бы объяснил, подробнее, но время...если это сделать - то хоть по ADO можно цеплятся к базе, и относительно безопасно.
22. Ийон Тихий (cool.vlad4) 41 27.09.11 15:21 Сейчас в теме
(20) сам по себе masterhost поддерживает ssh. Вот их инструкции http://masterhost.ru/support/doc/mysql/
23. Ийон Тихий (cool.vlad4) 41 27.09.11 15:22 Сейчас в теме
Скачайте putty и введите данные, которые вам дал провайдер.
24. Denis (diocompany) 27.09.11 15:26 Сейчас в теме
(23) cool.vlad4,

Спасибо!
Попробую копать дальше! :)
Потом расскажу, чего выкопал. :-)))
25. Алексей Миронов (a_mironov) 11.12.11 04:42 Сейчас в теме
Спасибо автору аз проделанную работу! Особенно за исходники
26. igor (igor_kav) 95 14.12.11 12:22 Сейчас в теме
Здравствуйте, подскажите почему не работает запрос:
INSERT INTO modx_site_content ( type , contentType, pagetitle , longtitle , alias , parent , published , isfolder , richtext , template , searchable , cacheable , hidemenu ) VALUE ( 'document' , 'text/html' , 'Крышка на ведро 50 Консенсус' , 'Крышка на ведро 50 Консенсус' , 'Kryshka_na_vedro_50_Konsensus' , '22528' , '1' , '0' , '1' , '6' , '1' , '1', '1' );
SET @lastID := LAST_INSERT_ID();
INSERT INTO modx_site_tmplvar_contentvalues ( tmplvarid , contentid , value ) VALUE ( '4' , @lastID , 'assets/images/Catalog/10742.jpg' );
INSERT INTO modx_site_tmplvar_contentvalues ( tmplvarid , contentid , value ) VALUE ( '5' , @lastID , 'assets/images/Catalog/Preview/10742.jpg' );
INSERT INTO modx_site_tmplvar_contentvalues ( tmplvarid , contentid , value ) VALUE ( '6' , @lastID , '10742' );
INSERT INTO modx_site_tmplvar_contentvalues ( tmplvarid , contentid , value ) VALUE ( '7' , @lastID , '6,38' );

Выдает ошибку:
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 'SET @lastID := LAST_INSERT_ID();
INSERT INTO modx_site_tmplvar_c

И заметил, что пакетный запрос, вообще не отрабатывает! Как решить проблему?
27. Сергей (zsw) 14.12.11 14:06 Сейчас в теме
(26) igor_kav,
попробуй
Select @lastID:=Last_insert_id();
с пакетным запросом решить не удалось
только последовательный запуск по одному запросу
28. igor (igor_kav) 95 14.12.11 14:11 Сейчас в теме
(27)
Спасибо за ответ, сейчас попробую.
29. Roman Tarasov (raym0n) 16.12.11 16:54 Сейчас в теме
Скажите, какая скорость работы данного метода?
Если нужно, например, залить в базу 2000 строк.

Спасибо!
30. MyTempMail@ua.fm MyTempMail@ua.fm (MyTempMail@ua.fm) 04.05.12 14:59 Сейчас в теме
Кто то пытался с ней работать в фоновом задании?

Вылетает при попытке загрузить компоненту: "Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту)". При интерактивной работе все работает замечательно.
31. serguey_again (serguey_again) 63 06.05.12 02:44 Сейчас в теме
(30)
Компонента требует полных клиентских прав (так как в ней есть обращение к самой 1с для создания объектов 1с) - а фоновые задания выполняются на стороне сервера - и не имеют клиентского контекста. Эту проблему можно решить запуском 1с по расписанию с передачей ей параметра на запуск внешней обработки - которая уже и использует компоненту
MyTempMail@ua.fm; +1 Ответить
32. dummy 06.03.13 13:28 Сейчас в теме
тем, кто как я столкнулся с падениями 1с в паре с этой компонентой под обычным пользователем (без прав администратора):

нужно пользователю дать права на "Использовать 1С в качестве OLE Automation сервера". по умолчанию такие права не установлены. и сразу все падения прекратились.

огромное спасибо serguey_again, автору, за оперативную помощь в решении этой проблемы.
33. semario (semario) 8 06.02.14 06:39 Сейчас в теме
Под управляемые формы работает?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа