UMIhelp

Разработка дополнительного функционала => Custom макросы => Тема начата: AllaVK от 29 Сентября 2011, 16:17:17

Название: Получение данных из сторонней БД
Отправлено: AllaVK от 29 Сентября 2011, 16:17:17
Добрый вечер!
требуется реализовать след задачу:
есть сторонняя БД, необходимо к ней подключиться и запросами получить необходимые данные.
через phpMyAdmin я к ней подключиться могу, а вот программно, кастомным макросом, не получается ((
делаю так:

$db = mysql_connect("некий IP", "login", "passw");
if(!$db) {
    die ("Невозможно подключиться к MySQL" . mysql_error());
}
 

в результате вызова этого макроса  выводится только строка: Невозможно подключиться к MySQL
Подскажите, плиз, на что обратить внимание, почему не происходит подключение? сама БД внешние подключения позволяет. настройки для подключения правильные...
Название: Re:Получение данных из сторонней БД
Отправлено: admin от 30 Сентября 2011, 01:09:08
попробуй в корне сайта разместить этот php файл. назовем его например msql_check.php

содержимое его будет примерно таким:
<?php
$db = mysql_connect("некий IP", "login", "passw");
if(!$db) {
    die ("Невозможно подключиться к MySQL" . mysql_error());
}else echo 'ok';
?>

и запустим его указав в адресной строке http://ваш_сайт/msql_check.php если он сможет подключиться к базе данных то проблема кроется во взаимодействии с umi, если не сможет то это вопрос чисто технического подключения к базе
Название: Re:Получение данных из сторонней БД
Отправлено: AllaVK от 30 Сентября 2011, 09:49:58
Сделала все, как Вы написали, получила след ошибку:

Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 110 in /home/site/domains/site.ru/public_html/test_bd.php on line 2
Невозможно подключиться к MySQL Lost connection to MySQL server at 'reading initial communication packet', system error: 110

в этой line 2 строка: $db = mysql_connect("некий IP", "login", "passw");

получается, что в настройках базы дело? внешние соединения она позволяет... на что можно обратить внимание?
Название: Re:Получение данных из сторонней БД
Отправлено: admin от 30 Сентября 2011, 21:26:41
тут уж вопрос к знатокам работы с удаленной базой данной.
Название: Re:Получение данных из сторонней БД
Отправлено: AllaVK от 03 Октября 2011, 11:20:05
Ок, все равно спасибо за наводящие подсказки.... попробую знатоков поспрашивать...
Название: Re:Получение данных из сторонней БД
Отправлено: admin от 03 Октября 2011, 13:47:59
посмотри вот эту статью Подключение к второй базе данных в кастомном методе (http://wiki.umisoft.ru/%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA_%D0%B2%D1%82%D0%BE%D1%80%D0%BE%D0%B9_%D0%B1%D0%B0%D0%B7%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B2_%D0%BA%D0%B0%D1%81%D1%82%D0%BE%D0%BC%D0%BD%D0%BE%D0%BC_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B5), возможно это тебе поможет
Название: Re:Получение данных из сторонней БД
Отправлено: grave от 03 Октября 2011, 17:02:50
а вторая база точно слушает интерфейс с нужным ай-пи?
Название: Re:Получение данных из сторонней БД
Отправлено: AllaVK от 04 Октября 2011, 09:56:00
а вторая база точно слушает интерфейс с нужным ай-пи?

хостер утверждает, что ай-пи, логин и пароль верные... и порт настроен верно.... и база позволяет внешние подключения...
Название: Re:Получение данных из сторонней БД
Отправлено: AllaVK от 04 Октября 2011, 09:56:50
посмотри вот эту статью Подключение к второй базе данных в кастомном методе (http://wiki.umisoft.ru/%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA_%D0%B2%D1%82%D0%BE%D1%80%D0%BE%D0%B9_%D0%B1%D0%B0%D0%B7%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B2_%D0%BA%D0%B0%D1%81%D1%82%D0%BE%D0%BC%D0%BD%D0%BE%D0%BC_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B5), возможно это тебе поможет

спасибо большое, попробую еще так, о результатах отпишусь....
Название: Re:Получение данных из сторонней БД
Отправлено: AllaVK от 04 Октября 2011, 16:21:27
посмотри вот эту статью Подключение к второй базе данных в кастомном методе (http://wiki.umisoft.ru/%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA_%D0%B2%D1%82%D0%BE%D1%80%D0%BE%D0%B9_%D0%B1%D0%B0%D0%B7%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B2_%D0%BA%D0%B0%D1%81%D1%82%D0%BE%D0%BC%D0%BD%D0%BE%D0%BC_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B5), возможно это тебе поможет

я создала php-файл, в котором прописала след:
        $pool = ConnectionPool::getInstance();
$pool->addConnection("core", "некий IP", "login", "passw", "bd_name");
if (!$pool)
echo 'Bad connection!';
else
echo 'Good connection!';
$pool->init();

этот файл поместила в корень сайта, и вызвала как www.my_site.ru/test.php
но появилась ошибка, что не найден класс ConnectionPool в моем php-файле... может быть его надо было помещать в какую-то другую директорию? или оформить в виде кастомной функции и вызывать как функцию? или как-то подключить класс ConnectionPool к моему php-файлу?
Название: Re:Получение данных из сторонней БД
Отправлено: admin от 04 Октября 2011, 22:30:48
если ты используешь классы umi в стороннем файле , подключать их надо через standalone? который подключает ядро umi, посмотри о нем в wiki или в api документации