Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: TurboSMS: ошибка при получении к mysql по ODBC 7.7 на 64 битной ОС

v7: TurboSMS: ошибка при получении к mysql по ODBC 7.7 на 64 битной ОС
Я
   uno-group
 
14.05.21 - 10:44
Функция ОтправитьТурбоСМС(Номер, Текст) Экспорт
    Соединение=СоздатьОбъект("ADODB.Connection");
    СтрокаСоединение = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=77.120.116.10;DataBase=users;UID=" + СокрЛП(пользователь) +";PWD=" + СокрЛП(пароль);
//    СтрокаСоединение = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=77.120.116.10;DataBase=users;UID=" + СокрЛП(пользователь) +";PWD=" + СокрЛП(пароль);
    Попытка
        Соединение.Open(СтрокаСоединение);
    Исключение
        Сообщить("Не могу подключиться к базе!!!");
        Сообщить(описаниеошибки());
        Возврат 0;
    КонецПопытки;
    Соединение.Execute("insert into " + Пользователь+"(number,sign,message) values('" + Номер + "','" + Подпись+"','"+ Текст + "')");
    Возврат 1;
КонецФункции
Выдает :
Не могу подключиться к базе!!!
Microsoft OLE DB Provider for ODBC Drivers: [MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on '77.120.116.10' (10060)
Уже и 3.51 и 5.1 и 8.0 драйвера ставил для 32 и 64 ОС. никак не могу побороть.
 
 Партнерская программа EFSOL Oblako
   ДенисЧ
 
1 - 14.05.21 - 10:46
@Причин возникновения ошибки 10060 при подключении к серверу MySQL может быть несколько: Проверьте настройки межсетевого экрана (файрвола). В них обязательно должен быть открыт порт 3306 по протоколам TCP и UDP. Проверьте, настроен ли ваш MySQL-сервер на работу по сети@

https://linuxdata.ru/questions/q56.html#:~:text=Причин%20возникновения%20ошибки%2010060%20при,сервер%20на%20работу%20по%20сети.
   Djelf
 
2 - 14.05.21 - 10:53
(0) По мануали https://turbosms.ua/sql.html адрес https://turbosms.ua/sql.html и это не 77.120.116.10, а 94.249.146.189
   uno-group
 
3 - 14.05.21 - 10:58
(2) помогло частично.
Microsoft OLE DB Provider for ODBC Drivers: [MySQL][ODBC 3.51 Driver]Access denied for user 'unogroup'@'91.234.226.205' (using password: YES)
   uno-group
 
4 - 14.05.21 - 11:02
пароль тоже поборол.
   uno-group
 
5 - 14.05.21 - 11:24
вроде все отрабатывает но смс не приходит. Пока тестирую сервис подпись не настраивал. Пробовал в нее указать свой номер заданый при регистрации. оставлял пустым. вроде все отрабатывает но СМС не приходит.
   uno-group
 
6 - 14.05.21 - 11:29
нашел общие подписи. MAGAZIN ушло. осталось текст побороть пришли кракозяблы
   uno-group
 
7 - 14.05.21 - 12:35
что то кодировку не победю.
//*******************************************

Функция ПреобразоватьСтрокуВУТФ8(Стр) Экспорт
    Длина=СтрДлина(Стр);
    Итог="";
    Для Н=1 По Длина Цикл
        Знак=Сред(Стр,Н,1);
        Код=КодСимв(Знак);
        Если Код<128 Тогда
            Итог=Итог+Знак;
        Иначе
            Если (Код>=КодСимв("А"))И(Код<=КодСимв("п")) Тогда
                Итог=Итог+Симв(208)+Симв(144+Код-КодСимв("А"));
            ИначеЕсли (Код>=КодСимв("р"))И(Код<=КодСимв("я")) Тогда
                Итог=Итог+Симв(209)+Симв(128+Код-КодСимв("р"));
            ИначеЕсли (Знак="ё") Тогда
                Итог=Итог+Симв(209)+Симв(145);
            ИначеЕсли (Знак="Ё") Тогда
                Итог=Итог+Симв(208)+Симв(129);
            ИначеЕсли (Знак="і") Тогда
                Итог=Итог+Симв(209)+Симв(150);
            ИначеЕсли (Знак="ї") Тогда
                Итог=Итог+Симв(208)+Симв(151);
            ИначеЕсли (Знак="є") Тогда
                Итог=Итог+Симв(209)+Симв(148);
            ИначеЕсли (Знак="Є") Тогда
                Итог=Итог+Симв(208)+Симв(132);
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    Возврат Итог;
КонецФункции
//******************************************

//Пытаюсь внедрить на 7.7, как Buh. Пишу в глобальном модуле
Функция ОтправитьТурбоСМС(Номер, Текст) Экспорт
    Соединение=СоздатьОбъект("ADODB.Connection");
    СтрокаСоединение = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=94.249.146.189;DataBase=users;UID=" + СокрЛП(пользователь) +";PWD=" + СокрЛП(пароль);
    Попытка 
        Соединение.Open(СтрокаСоединение);
    Исключение
        Сообщить("Не могу подключиться к базе!!!");
        Сообщить(описаниеошибки());
        Возврат 0;
    КонецПопытки;
    Соединение.Execute("insert into " + СокрЛП(Пользователь)+"(number,sign,message) values('" + СокрЛП(Номер) + "','" + СокрЛП(Подпись)+"','"+ ПреобразоватьСтрокуВУТФ8(СокрЛП(Текст)) + "')");
    Возврат 1;
КонецФункции
//******************************************* 

Если записать ее в файл то пишет что все ок  utf-8 а приходят крокозяблы. пробовал ADODB.Stream преобразовывать тот же результат.
   arsik
 
8 - 14.05.21 - 12:40
   uno-group
 
9 - 14.05.21 - 13:36
(8) Спасибо помогло. Исправил строку соединения и все заработало.
    СтрокаСоединение = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=94.249.146.189;DataBase=users;UID=" + СокрЛП(пользователь) +";PWD=" + СокрЛП(пароль)+";stmt=SET NAMES 'utf8';";

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.