COPIAR BANCO FIREBIRD

PHELIPO 02/05/2011 16:12:00
#372995
Boa Tarde!

Estou com uma duvida, quem poder me ajudar eu agradeço.

BACKUP=\\192.168.3.50\pastabanco\bancofirebird.fdb

Estou usando esse caminho para copiar um arquivo do Banco Firebird que está em uma pasta compartilhada na rede.
O problema é , quero usar essa pasta na rede sem compartilhamento, portanto se eu tirar o compartilhamento da pasta não consigo encontrar o banco Firebird.

Como fazer um caminho para copiar banco firebird em pasta não compartilhada?

Obrigado!
LLAIA 02/05/2011 20:33:40
#373010
Isto é um erro que muita gente comete ao usar o Firebird. O Firebird é um SGBD ele não precisa ser acessado por compartilhamento de pastas como o Access. Embora [Ô]funcione[Ô], vc acaba forçando o engine do BD a usar o compartilhamento de arquivos do Windows para acessar um arquivo que pode ser acessado diretamente! Ao informar o BS na sua string de conexão faça com essa estrutura:

[txt-size=2]IP_SERVIDOR:C:\PASTA_DO_BANCO\MEU_BANCO.FDB[/txt-size]


Dessa forma, o engine que escuta numa porta TCP/IP vai localizar o Bd no caminho desejado e vai acessá-lo localmente e te retornar/registrar os dados necessários.
ROMEROSISTEMAS 03/05/2011 00:35:00
#373015
use o ibole ele faz conecção etravez do IP da rede... desde que o servidor esteja perfeitamente configurado...

para meiores informações procura por IBOLE no google
PHELIPO 03/05/2011 09:48:21
#373051
Bom dia!

Obrigado pela informação, mas a minha conexão com o banco já está funcionado dessa maneira IP_SERVIDOR:C:\PASTA_DO_BANCO\MEU_BANCO.FDB
.
O problema é que não estou conseguindo configura esse caminho (IP_SERVIDOR:C:\PASTA_DO_BANCO\MEU_BANCO.FDB)
.
para copiar o banco para outra pasta.

Obrigado!


LLAIA 03/05/2011 11:18:08
#373075
cara, vc não pode fazer isso enquanto o Bd estiver funcionando. Para fazer um back com o BD em produção pesquise sobre o aplicativo gbak que vem com o FB.
ROMEROSISTEMAS 03/05/2011 15:43:01
#373110
na verdade pode sim... usando funções que ignoram arquivos que estao em uso

Private Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAborted As Boolean
hNameMaps As Long
sProgress As String
End Type
Private Const FO_DELETE = &H3
Private Const FO_COPY = &H2
Private Const FOF_ALLOWUNDO = &H40
Private Declare Function SHFileOperation Lib [Ô]shell32.dll[Ô] Alias [Ô]SHFileOperationA[Ô] (lpFileOp As SHFILEOPSTRUCT) As Long

Public Function copyFileFolder(ByVal Src$, ByVal Dst) As Boolean
copyFileFolder = True
On Error GoTo Out
If Src = [Ô][Ô] Then
[ô]MsgBox [Ô]File sumber kosong![Ô], vbOKOnly + vbInformation, [Ô]Informasi[Ô]
Exit Function
ElseIf Dst = [Ô][Ô] Then
[ô]MsgBox [Ô]File tujuan kosong![Ô], vbOKOnly + vbInformation, [Ô]Informasi[Ô]
Exit Function
End If
Dim SHFileOp As SHFILEOPSTRUCT
With SHFileOp
[ô]Copy the file
.wFunc = FO_COPY
[ô]Source the file
.pFrom = Src
[ô]Destination the file
.pTo = Dst
[ô]Allow [ô]move to recycle bn[ô]
.fFlags = FOF_ALLOWUNDO
End With
[ô]perform file operation
SHFileOperation SHFileOp
[ô]MsgBox [Ô]The file or folder [ô][Ô] + Src + [Ô][ô] has been copyed to destination ![Ô], vbInformation + vbOKOnly, App.Title
Exit Function
Out:
copyFileFolder = False
End Function

copyFileFolder File2.Path & [Ô]\[Ô] & File2.FileName, NomeFileDestino


teste isso e veja se ajuda
TECLA 12/05/2011 20:47:25
#373824
Resposta escolhida
Primeiro exemplo – Gerando um backup
gbak –user SYSDBA –pas masterkey 172.16.20.14:c:\dados.fdb c:\backup.fbk

Segundo exemplo – Restaurando um backup
gbak –user SYSDBA –pas masterkey –r –p 4096 -o c:\backup.fbk 172.16.20.14:c:\dados.fdb

Esse comandos podem ser executados usando a função SHELL.

Fonte: http://www.devmedia.com.br/post-4877-Utilizando-o-gBak-do-Firebird-para-efetuar-backup-restore.html
PHELIPO 16/05/2011 12:31:12
#374037
Boa Tarde Tecla
Obrigado pela ajuda

Fiz dessa maneira não deu certo, da esse erro: FILE NOT FOUD

Obs: coloquei o banco dados.fdb na unidade c:

Shell [Ô]gbak -user SYSDBA -pas masterkey 192.168.3.50:c:\dados.fdb c:\backup.fbk[Ô]

Quem poder me ajudar eu agradeço.

Tópico encerrado , respostas não são mais permitidas