forum.bitel.ru
http://forum.bitel.ru/

выгрузка бд в csv
http://forum.bitel.ru/viewtopic.php?f=25&t=4190
Страница 1 из 1

Автор:  skyb [ 22 июн 2010, 07:11 ]
Заголовок сообщения:  выгрузка бд в csv

сабж. Собственно говоря формат важен который понимает эксель, неподскажете как это можно реализовать, определенные поля конечно,а не все бд

Автор:  nolka4 [ 22 июн 2010, 08:32 ]
Заголовок сообщения:  Re: выгрузка бд в csv

какие поля из каких таблиц тебе нужны?

Автор:  skyb [ 22 июн 2010, 09:02 ]
Заголовок сообщения:  Re: выгрузка бд в csv

Код:
SELECT DISTINCT CLIENTS.TITLE AS 'dogovor', CLIENTS.ID AS 'id', PORT.VAL AS 'port', IP.VAL AS 'ip', SL.from_number AS 'mac' FROM contract AS CLIENTS JOIN user_login_1 AS ULOGIN ON ULOGIN.CID=CLIENTS.ID LEFT JOIN ( SELECT VAL, CID FROM contract_parameter_type_1 AS CPT WHERE (CPT.PID=5) ) AS PORT ON PORT.CID=CLIENTS.ID LEFT JOIN ( SELECT VAL, CID FROM contract_parameter_type_1 AS CPT WHERE (CPT.PID=7) ) AS IP ON IP.CID=CLIENTS.ID INNER JOIN log_session_1_201005 AS SL ON ULOGIN.ID=SL.lid GROUP BY CLIENTS.TITLE, CLIENTS.ID, PORT.VAL, IP.VAL, SL.from_number ORDER BY CLIENTS.TITLE
Но некоторые поля будут меняться. нет универсального способа??

Автор:  nolka4 [ 22 июн 2010, 09:46 ]
Заголовок сообщения:  Re: выгрузка бд в csv

тебе генератор отчетов нужен чтоли?

Автор:  skyb [ 22 июн 2010, 09:50 ]
Заголовок сообщения:  Re: выгрузка бд в csv

Нее, есть фсб. им необходима информация о наших абонентах, просто покачто они не дали формат того что им нжно пока писал свет отрубили вот вибрать то что нужно то я смогу, а вот как это в csv закинуть нет :(

Автор:  nolka4 [ 22 июн 2010, 10:05 ]
Заголовок сообщения:  Re: выгрузка бд в csv

на пхп к примеру скрипт напиши, который будет в csv писать результаты выборки :)

Автор:  skyb [ 22 июн 2010, 10:06 ]
Заголовок сообщения:  Re: выгрузка бд в csv

В пхп несилен...как то недовелось сильно его использовать :) сижу на яве вояю. я думал что как то можно средствами мускула :)

Автор:  nolka4 [ 22 июн 2010, 11:33 ]
Заголовок сообщения:  Re: выгрузка бд в csv

skyb писал(а):
В пхп несилен...как то недовелось сильно его использовать :) сижу на яве вояю. я думал что как то можно средствами мускула :)

Код:
<?
$con = mysql_connect("server_host",'user_name','password');
if(!$con)
   die('db not connected');
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link)
{
    die('Not connected : ' . mysql_error($con));
}

$db_selected = mysql_select_db('database_name', $con);
if (!$db_selected)
{
    die ('cant select database ' . mysql_error($con));
}
$res = mysql_query("SELECT DISTINCT CLIENTS.TITLE AS 'dogovor', CLIENTS.ID AS 'id', PORT.VAL AS 'port', IP.VAL AS 'ip', SL.from_number AS 'mac' FROM contract AS CLIENTS JOIN user_login_1 AS ULOGIN ON ULOGIN.CID=CLIENTS.ID LEFT JOIN ( SELECT VAL, CID FROM contract_parameter_type_1 AS CPT WHERE (CPT.PID=5) ) AS PORT ON PORT.CID=CLIENTS.ID LEFT JOIN ( SELECT VAL, CID FROM contract_parameter_type_1 AS CPT WHERE (CPT.PID=7) ) AS IP ON IP.CID=CLIENTS.ID INNER JOIN log_session_1_201005 AS SL ON ULOGIN.ID=SL.lid GROUP BY CLIENTS.TITLE, CLIENTS.ID, PORT.VAL, IP.VAL, SL.from_number ORDER BY CLIENTS.TITLE",$con);

//while($record = mysql_fetch_assoc())
//{
$record = mysql_fetch_assoc();
print_r($record); // выводим каждую строку в цикле в виде асоциативного массива
//}

mysql_close($con);
?>


покажи мне результат рабты этого скрипта?
покажи что

Автор:  skyb [ 22 июн 2010, 11:37 ]
Заголовок сообщения:  Re: выгрузка бд в csv

Огромное спасибо за реакцию :) очень приятно....я все таки постараюсь написать на яве, просто потом редактировать проще будет результаты и добавлять новое что-нибудь. А то так постоянно буду тебя мучить :) . Если уже не получится, то тогда конечно же попрошу помощи :). Спс ещё раз.

Автор:  nolka4 [ 22 июн 2010, 11:39 ]
Заголовок сообщения:  Re: выгрузка бд в csv

skyb писал(а):
Огромное спасибо за реакцию :) очень приятно....я все таки постараюсь написать на яве, просто потом редактировать проще будет результаты и добавлять новое что-нибудь. А то так постоянно буду тебя мучить :) . Если уже не получится, то тогда конечно же попрошу помощи :). Спс ещё раз.

пхп проще редактировать :D

Автор:  stark [ 22 июн 2010, 11:41 ]
Заголовок сообщения:  Re: выгрузка бд в csv

в клиенте биллинга в SQL редакторе есть возможность сохранить в csv

Автор:  skyb [ 22 июн 2010, 11:53 ]
Заголовок сообщения:  Re: выгрузка бд в csv

stark писал(а):
в клиенте биллинга в SQL редакторе есть возможность сохранить в csv

Ух ты...точно :) .... правдо в яве проще запросы сформировать, нежеле вымучивать одним запросом все что нужно %) в клиенте. А так интересно, не знал :)

Автор:  vdd [ 22 июн 2010, 12:23 ]
Заголовок сообщения:  Re: выгрузка бд в csv

Мы выгружаемся с помощью http-запросов и последующего пропускания полученного xml через Xalan с нужными xsl.
Плюс - меньше зависит от изменения в структуре БД.
Минус - медленно из-за постоянных запусков Xalan.

Делали обработку xml внутри собственной java программы - работает быстро.

Автор:  skyb [ 22 июн 2010, 12:27 ]
Заголовок сообщения:  Re: выгрузка бд в csv

Собственно говоря код уже почти написан, жду лишь того какой формат нужен будет...и доправить до этого. Если нужно могу выложить код, для того чтоб было легко самому выгружать. Мож кому понадобиться

Автор:  snark [ 24 июн 2010, 22:23 ]
Заголовок сообщения:  Re: выгрузка бд в csv

типа
Код:
-- экспортируемые поля:
-- Договор,ФИО,Адрес

SELECT
    title AS dogovor,
    (SELECT val FROM contract_parameter_type_1 cpt1 WHERE pid = 2 AND cpt1.cid = c.id) AS 'ФИО',
    (SELECT address FROM contract_parameter_type_2 cpt2 WHERE pid = 1 AND cpt2.cid = c.id) AS 'Адрес'
FROM
    contract AS c
ORDER BY dogovor
INTO OUTFILE '/path/to/file.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';

или я что-то не понял?

Автор:  skyb [ 25 июн 2010, 02:33 ]
Заголовок сообщения:  Re: выгрузка бд в csv

Да вроде все так, только там разделение точка с запятой, и слова кажись в кавычках. Пока мне советовали, я уже написал программку, а то все это делать одним запросом, голова отвалится. Спс за ответы и помощь :)

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/