|
|
|
Создание схемы на стороне клиента (pg_dump)
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, уважаемые знатоки! Необходима подсказка, может кто сталкивался. Есть два вопроса: Разрабатывается клиент серверное приложение. На Qt с использование языка С++. 1. Возможно ли создание схемы БД на стороне клиента, если у клиента нет установленных драйверов. То есть, у себя на клиенте человек не может запустить pg_dump. Можно ли его запустить на сервере, и отловить со стандартного выхода сервера БД получаемую информацию. Или может есть более простой способ? 2. В связи с этим другой вопрос. В документации нарыл что стандартный оператор "copy" может принимать или отдавать данные через STDIN/STDOUT. Кто нибудь пользовался данной возможностью? Возможна ли загрузка информации через него напрямую в таблицу с приложения клиента? И возможно ли использовать его для пердачи схемы БД клиенту? С Уважением! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2016, 10:17 |
|
||
|
Создание схемы на стороне клиента (pg_dump)
|
|||
|---|---|---|---|
|
#18+
inforse, - pg_dump это клиент. И разрабатываемое твоё на Qt тоже будет клиентом номер 2. Для твоего клиента номер 2 тоже понадобятся дрова. Тогда в чём вопрос? Дрова всё равно нужны. У меня проект на Lazarus. В Ubuntu зайти в Программы и поставить галку Драйвера PostgreSQL. Будут установлены Сишные драйвера под данную Ось. Всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2016, 11:36 |
|
||
|
Создание схемы на стороне клиента (pg_dump)
|
|||
|---|---|---|---|
|
#18+
Petro123inforse, - pg_dump это клиент. И разрабатываемое твоё на Qt тоже будет клиентом номер 2. Для твоего клиента номер 2 тоже понадобятся дрова. Тогда в чём вопрос? Дрова всё равно нужны. У меня проект на Lazarus. В Ubuntu зайти в Программы и поставить галку Драйвера PostgreSQL. Будут установлены Сишные драйвера под данную Ось. Всё. Да все правильно, у меня тоже есть дрова QT и я замечательно читаю с базы и пишу. Но pg_dump на прямую через базу не сделать же? Я правильно понимаю? Для этого должен стоять сам постгоес на клиентской машине. Отправить запрос я могу, а вот со снятием схемы возникла проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2016, 13:33 |
|
||
|
Создание схемы на стороне клиента (pg_dump)
|
|||
|---|---|---|---|
|
#18+
inforse, у вас в коде клиента используются класы QSqlDatabase, QSqlQuery? если да, то значит клиент постгреса тоже есть на клиенте, и остаётся только добавить pg_dump, или pg_restore, о чём вам и говорили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2016, 13:43 |
|
||
|
Создание схемы на стороне клиента (pg_dump)
|
|||
|---|---|---|---|
|
#18+
Lonepsycho, Может я не правильно понимаю, прошу прощения. QSqlQuery выполняет запрос на стороне базы данных. pg_dump это системная команда, и если драйвера в системе не установлены, pg_dump не выполниться. А в qt я использую PSQL в составе пакета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2016, 11:59 |
|
||
|
Создание схемы на стороне клиента (pg_dump)
|
|||
|---|---|---|---|
|
#18+
inforse, QSqlDatabase, QSqlQuery, QSqlError используют драйвера постгреса. Разве что вы используете ODBC подключение. В противном случае, у вас рядом с бинариком должен будет быть драйвер постгреса, или быть доступен по путям прописанным в системе. А это значит что минимальный набор уже есть на клиенте. Туда добавить pg_dump или любую другую из утилит, находящихся в папке bin, несоставит труда. Без драйверов вы будете получять ERROR driver not loaded. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2016, 15:41 |
|
||
|
Создание схемы на стороне клиента (pg_dump)
|
|||
|---|---|---|---|
|
#18+
Lonepsychoinforse, QSqlDatabase, QSqlQuery, QSqlError используют драйвера постгреса. Разве что вы используете ODBC подключение. В противном случае, у вас рядом с бинариком должен будет быть драйвер постгреса, или быть доступен по путям прописанным в системе. А это значит что минимальный набор уже есть на клиенте. Туда добавить pg_dump или любую другую из утилит, находящихся в папке bin, несоставит труда. Без драйверов вы будете получять ERROR driver not loaded. Все спасибо, учту. Наверно так и сделаю. Притяну утилиту pg_dump, и буду к ней обращаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2016, 16:05 |
|
||
|
Создание схемы на стороне клиента (pg_dump)
|
|||
|---|---|---|---|
|
#18+
inforseПритяну утилиту pg_dump, и буду к ней обращаться. pg_dump - это исполняемый файл (утилита). Соответственно она запускается как процесс (зачем вообще речь идет о QSqlDatabase, QSqlQuery, QSqlError). И исполняться она будет там откуда вы её запускаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 08:42 |
|
||
|
Создание схемы на стороне клиента (pg_dump)
|
|||
|---|---|---|---|
|
#18+
big-trotpg_dump - это исполняемый файл (утилита). Соответственно она запускается как процесс (зачем вообще речь идет о QSqlDatabase, QSqlQuery, QSqlError). И исполняться она будет там откуда вы её запускаете. то что Qt имеет средства запускать процесс и отслеживать его состояние вы в курсе? например при помощи QProcess? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 09:56 |
|
||
|
Создание схемы на стороне клиента (pg_dump)
|
|||
|---|---|---|---|
|
#18+
Lonepsychoто что Qt имеет средства запускать процесс и отслеживать его состояние вы в курсе? например при помощи QProcess? Так я это и имею виду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 10:32 |
|
||
|
Создание схемы на стороне клиента (pg_dump)
|
|||
|---|---|---|---|
|
#18+
big-trot речь о QSqlQuery и т.д. зашла имменно после этого: inforseLonepsycho, Может я не правильно понимаю, прошу прощения. QSqlQuery выполняет запрос на стороне базы данных. pg_dump это системная команда, и если драйвера в системе не установлены, pg_dump не выполниться. А в qt я использую PSQL в составе пакета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 10:54 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39179533&tid=1997403]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 527ms |

| 0 / 0 |
