如何使用isql.exe(命令行)将Sybase 15数据库备份/还原到文件?

我正在编写一个C#应用程序,用适当的参数调用
isql.exe
。 我需要符合的界面:
    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 Server 2008实现了这一点。它们有很好的文档,例如:http://technet.microsoft.com/en-us/library/ms186865.aspx 我想出了一些方法(对于SQL Server):
BACKUP DATABASE MY_DB
TO DISK = 'C:TempMY_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:TempMY_DB.bak'
WITH REPLACE, RECOVERY;
并调用它(Windows批处理文件语法):
sqlcmd -E -S %SERVERNAME% -U %USER% -P %PASSWORD% -d master -Q "%SQL_BACKUP_CMD%"
我无法在网上找到有关如何为SyBase执行此操作的信息。 编辑: 我现在可以从命令行执行此操作。首先,我创建一个名为syb_bak.sql的文件,其中包含:
dump database mydb to "D:Tempmydb.bak"
go
exit
然后我通过以下两种方式之一在命令行上调用它:
isql.exe -S {serverAlias} -U {user} -P {password} -i syb_bak.sql
isql.exe -S {serverAlias} -U {user} -P {password} < syb_bak.sql
我可以选择使用
-o
标志或输出重定向
>
来获取输出。 一切都很好,除了令我惊讶的是,备份文件被转储到服务器端而不是客户端。     
已邀请:
转储数据库命令 http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.commands/html/commands/commands54.htm F.E. 使用init将数据库DB转储到“/ dev / nrmt0” 恢复数据库 http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.commands/html/commands/commands64.htm F.E. 从“/ dev / nrmt0”加载数据库DB     

要回复问题请先登录注册