적절한 인수를 사용하여 isql.exe
을 호출하는 C# 응용 프로그램을 작성했습니다.isql.exe (명령 줄)를 사용하여 Sybase 15 데이터베이스를 파일로 /에서 파일을 백업/복원하는 방법은 무엇입니까?
I가 준수해야 할 인터페이스 : http://technet.microsoft.com/en-us/library/ms186865.aspx
내가하는 방법을 함께했다 :
public void Backup(string serverName, string databaseName, string userName, string password, string backupDestinationPath);
public void Restore(string serverName, string databaseName, string userName, string password, string restoreSourcePath);
이미 그들은 같은 큰 문서를 가지고 MSFT의 SQL 서버 2008이 구현 한 그것은 (SQL Server 용)을 수행
BACKUP DATABASE MY_DB
TO DISK = 'C:\Temp\MY_DB.bak'
WITH INIT, SKIP, NOFORMAT, NOUNLOAD,
CHECKSUM, STOP_ON_ERROR,
NAME = 'MY_DB.bak',
DESCRIPTION = 'Backup of MY_DB.';
RESTORE DATABASE MY_DB
FROM DISK = 'C:\Temp\MY_DB.bak'
WITH REPLACE, RECOVERY;
을 그래서 같이 호출 (윈도우 배치 파일 구문) :
sqlcmd -E -S %SERVERNAME% -U %USER% -P %PASSWORD% -d master -Q "%SQL_BACKUP_CMD%"
SyBase에 대해이 작업을 수행하는 방법에 대해 온라인에서 많은 것을 찾을 수 없었습니다.
편집 :
지금 명령 줄에서이 작업을 수행 할 수 있습니다. 선택적으로 나는 -o
플래그 또는 출력 리디렉션을 사용할 수 있습니다
isql.exe -S {serverAlias} -U {user} -P {password} -i syb_bak.sql
isql.exe -S {serverAlias} -U {user} -P {password} < syb_bak.sql
: 나는 두 가지 방법 중 하나를 사용하여 명령 줄에서 그것을 호출 다음
dump database mydb to "D:\Temp\mydb.bak"
go
exit
: 우선이 포함 된 파일 이름 syb_bak.sql을 만들 출력을 얻기 위해 >
.
놀랍게도 백업 파일이 클라이언트가 아닌 서버쪽에 덤프되고 있다는 것을 제외하면 모든 것이 훌륭하게 작동합니다.
Tovarisch! 테이프 드라이브가 아닌 디스크에 파일을 덤프하는 경우 "init"옵션을 사용해야합니까? 그건 그렇고, 나는 Windows에서이 일을하고 있지만 이것은 구문에 영향을 미치지 않을 것입니다. –
Windows에서 파일 덤프 덤프 데이터베이스 DB를 "c : \ bakups \ db.dat" – kolchanov