mojaSymfonia FORUM
https://forum.mix-soft.pl/

Wykonanie importu podczas wykonywania kopii bazy danych
https://forum.mix-soft.pl/viewtopic.php?f=15&t=8272
Strona 1 z 1

Autor:  Zenek N [ 2017-12-29, 10:36 ]
Tytuł:  Wykonanie importu podczas wykonywania kopii bazy danych

Witam prosiłbym o podpowiedź jak wykonać import wszystkich produktów do txt podczas wykonywania kopii bezpieczeństwa

Autor:  rafal [ 2017-12-29, 10:46 ]
Tytuł:  Re: Wykonanie importu podczas wykonywania kopii bazy danych

a dlaczego akurat przy wykonywaniu kopii?

Autor:  Zenek N [ 2017-12-29, 14:15 ]
Tytuł:  Re: Wykonanie importu podczas wykonywania kopii bazy danych

ok w sumie to nie koniecznie podczas robienia kopii, myślałem raz dziennie na koniec dnia roboczego :-)

Autor:  rafal [ 2017-12-29, 14:30 ]
Tytuł:  Re: Wykonanie importu podczas wykonywania kopii bazy danych

napisz sobie programik który będzie uruchamiany w systemowym Schedulerze i będzie łączył się do bazy i tworzył plik z potrzebnymi danymi.

Autor:  praw_y [ 2017-12-29, 15:02 ]
Tytuł:  Re: Wykonanie importu podczas wykonywania kopii bazy danych

z jakiego typu bazy korzystasz ?

Autor:  Zenek N [ 2017-12-29, 17:06 ]
Tytuł:  Re: Wykonanie importu podczas wykonywania kopii bazy danych

pervasive :-). ale pamięcią ciągle w betriwie :)

jasne przecież to takie simple!

Autor:  praw_y [ 2018-01-02, 08:52 ]
Tytuł:  Re: Wykonanie importu podczas wykonywania kopii bazy danych

Znalazłem coś takiego, na szybko widzę, że powinno to ruszyć pod warunkiem, że zmodyfikujesz ścieżki do programu:

Kod:
@ECHO off
::Set the variables
set dataLocation=C:\PervasiveSQLDBData\
set backupLocation=D:\Database_Backup\
set daysToKeepBackups=10
set installLocation=C:\Program Files (x86)\Pervasive Software\PSQL\PBA\BIN\

:::Set the date/time variables
::Time, from http://stackoverflow.com/questions/1192476/format-date-and-time-in-a-windows-batch-script
set hour=%time:~0,2%
if "%hour:~0,1%" == " " set hour=0%hour:~1,1%
set min=%time:~3,2%
if "%min:~0,1%" == " " set min=0%min:~1,1%
set secs=%time:~6,2%
if "%secs:~0,1%" == " " set secs=0%secs:~1,1%

::Date, from http://stackoverflow.com/a/3475477/774359
for /f "tokens=1-4 delims=/-. " %%i in ('date /t') do (call :set_date %%i %%j %%k %%l)
goto :end_set_date

:set_date
if "%1:~0,1%" gtr "9" shift
for /f "skip=1 tokens=2-4 delims=(-)" %%m in ('echo,^|date') do (set %%m=%1&set %%n=%2&set %%o=%3)
goto :eof
:end_set_date


::Create the datetime string and create a folder with that name
set datetime=%yy%_%mm%_%dd% %hour%_%min%_%secs%
mkdir "%backupLocation%\%datetime%"


::Put the database in Continuous Operations Mode
cd %installLocation%
pvbackup -on

echo.
echo Copying files:
echo ---------------


::Copy all .mkd files
xcopy "%dataLocation%*.mkd" "%backupLocation%%datetime%" /y           
::Copy all .ddf files
xcopy "%dataLocation%*.ddf" "%backupLocation%%datetime%" /y


::Take the database off of Continuous Operations Mode
pvbackup -off

echo.
echo Deleting files:
echo ---------------

::Delete backup folders that are older than 10 days
ForFiles /P %backupLocation% /D -%daysToKeepBackups% /C "CMD /C if @ISDIR==TRUE rmdir /Q /S @FILE"
::Alternative: delete folders that aren't named "importantFolder" - useful if you have a ".sync" or ".dropbox" folder used by another program to index the backup folder
::ForFiles /P %backupLocation% /D -%daysToKeepBackups% /C "CMD /C if @ISDIR==TRUE rmdir /Q /S @FILE|find /v /i ""importantFolder"""


Ale jeżeli nie potrzebujesz super skomplikowanych backupów to wystarczy

Kod:
@ECHO off
::Set the variables
set dataLocation=C:\PervasiveSQLDBData\
set backupLocation=D:\Database_Backup\
set installLocation=C:\Program Files (x86)\Pervasive Software\PSQL\PBA\BIN\
cd %installLocation%
pvbackup -on
xcopy "%dataLocation%*.mkd" "%backupLocation%%datetime%" /y           
xcopy "%dataLocation%*.ddf" "%backupLocation%%datetime%" /y
pvbackup -off


Z kilku źródeł widzę, że Pervasive jest na tyle prosty że wystarczy skopiować foldery z bazą, ale dla pewności w skrypcie ustawiamy pervasive w trybie w który nie będzie problemu z ciągłością pliku.

Ave

Autor:  rafal [ 2018-01-02, 13:23 ]
Tytuł:  Re: Wykonanie importu podczas wykonywania kopii bazy danych

praw_y pisze:
Znalazłem coś takiego, na szybko widzę, że powinno to ruszyć pod warunkiem, że zmodyfikujesz ścieżki do programu:

[...]

Z kilku źródeł widzę, że Pervasive jest na tyle prosty że wystarczy skopiować foldery z bazą, ale dla pewności w skrypcie ustawiamy pervasive w trybie w który nie będzie problemu z ciągłością pliku.

Ave


Fajnie że podzieliłeś się wiedzą o wykonywaniu kopii. Jednak nie widzę związku z tematem. Poza tym, sposób ten nie gwarantuje wykonania poprawnej kopii jeżeli pliki bazy danych są w użyciu.

Autor:  praw_y [ 2018-01-02, 13:39 ]
Tytuł:  Re: Wykonanie importu podczas wykonywania kopii bazy danych

rafal pisze:
praw_y pisze:
Znalazłem coś takiego, na szybko widzę, że powinno to ruszyć pod warunkiem, że zmodyfikujesz ścieżki do programu:

[...]

Z kilku źródeł widzę, że Pervasive jest na tyle prosty że wystarczy skopiować foldery z bazą, ale dla pewności w skrypcie ustawiamy pervasive w trybie w który nie będzie problemu z ciągłością pliku.

Ave


Fajnie że podzieliłeś się wiedzą o wykonywaniu kopii. Jednak nie widzę związku z tematem. Poza tym, sposób ten nie gwarantuje wykonania poprawnej kopii jeżeli pliki bazy danych są w użyciu.


Faktycznie, chciał do TXT, chociaż nie wiadomo do czego miało by to być może chciał kopię po prostu :-) (tak jak zmieniła się opcja przy tworzeniu kopii bazy danych, na po prostu koniec dnia).

Sposób ze skryptu gwarantuje poprawne wykonanie kopii, ponieważ korzysta z pervavisowych narzędzi.

Autor:  rafal [ 2018-01-02, 13:50 ]
Tytuł:  Re: Wykonanie importu podczas wykonywania kopii bazy danych

A testowałeś te skrypty na Symfonii 2.0?

Autor:  Zenek N [ 2018-02-10, 12:43 ]
Tytuł:  Re: Wykonanie importu podczas wykonywania kopii bazy danych

hej wracam ponownie próbowałem zrobić eksport z pervasiva automatycznie ale ogólnie jest problem :/

Autor:  rafal [ 2018-02-10, 17:39 ]
Tytuł:  Re: Wykonanie importu podczas wykonywania kopii bazy danych

Na czym polega ten problem?

Autor:  Zenek N [ 2018-02-10, 18:04 ]
Tytuł:  Re: Wykonanie importu podczas wykonywania kopii bazy danych

ogólnie nie wiem jak podejść ogólnie w sieci nie ma informacji na temat przeprowadzenia automatycznego exportu z pervasive

Autor:  Zenek N [ 2018-02-11, 15:32 ]
Tytuł:  Re: Wykonanie importu podczas wykonywania kopii bazy danych

Przekopałem cały internet, i nie ma możliwości eksportu z poziomu cli (command line interfejs)


w tym momencie co mi przychodzi to poprzez odbc wykonać taki eksport, ale ogólnie problem polega na tym że nie ma świezych sterowników dla klienta odbc pervasive.
Muszę iterować całą bazę danych poprzez pętlę z poziomu php przy ilości ponad 7,000 tys rekordów dla tabeli TW. Myślę że w ten sposób dam radę to wykonać.



A mogę dokonać takiego importu z symfonii podczas wykonywania kopii bezpieczeństwa?
Aby symfonia wywołała funkcję podobną do tej na rysunku ?
Obrazek

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/