я работаю над приложением delphi 7 с postgres 9 в качестве базы данных.приложение работает двумя способами: оно может подключаться к базе данных
- Postgres в локальной системе
- Postgres в удаленной системе
как в локальной, так и в локальной сети.удаленная база данных postgres будет иметь такое же количество таблиц.
у нас есть модуль, в котором мы создаем резервную копию таблиц базы данных, используя COPY
, и записываем результат в файл в системе.пример
query1:='COPY (Select * from mytable where mycolumn in (2011406)) TO 'C:/Documents and Settings/All Users/Documents/drDir/myfile.bck' WITH BINARY'
Query_dmp_res.SQL.Clear;
Query_dmp_res.SQL.Add(query1) ;
Query_dmp_res.ExecSQL;
Путь C:/Documents and Settings/All Users/Documents/drDir
создается, если он не существует в локальной системе.
Поскольку вышеуказанный запрос выполняется в локальной системеи C:/Documents and Settings/All Users/Documents/drDir/
также существует. Это прекрасно работает при работе с локальной системой.
Но проблема в том, что мы подключились к удаленной системе. Запрос 'COPY (Select * from mytable where mycolumn in (2011406)) TO 'C:/Documents and Settings/All Users/Documents/drDir/myfile.bck' WITH BINARY'
Fails в качестве пути/drDir/
создается в локальной системе, а не в удаленной.
Но даже если в удаленной системе существует путь 'C:/Documents and Settings/All Users/Documents/drDir/
, Файл /myfile.bck
создается в удаленной системе.
Может кто-нибудь сказать мне, как
Укажите путь моей системы, поэтому файл /myfile.bck
создается в моей системепосле выполнения запроса.Это как указать мой локальный системный путь в запросе 'COPY (Select * from mytable where mycolumn in (2011406)) TO 'myLocalSystemPath/myfile.bck' WITH BINARY'
Как создать файл в каталоге на удаленной системе для выполнения запроса.
я пытался изменить путь как 'C:\Documents and Settings\All Users\Documents\drDir\
, но я получаю эту ошибку
РЕДАКТИРОВАТЬ я пытался
COPY (Выбрать* из mytable where mycolumn in (2011406)) ДЛЯ СОЗДАНИЯ С БИНАРНЫМИ, но как получить результат запроса?