c# - 建立连接后如何在c#中备份数据库
问题描述
我编写了代码来访问和显示给定服务器中的所有数据库。现在我正在尝试实际执行备份过程并将文件保存到我的桌面。但是,当它到达时,SQLBackup()
我得到一个
SqlException:无法打开备份设备。
我尝试将文件路径更改为其他位置。将文件类型指定为.bak
. 将其更改为服务器名称本身,但我不断收到相同的错误。
public static void Backup(string dbName, string connString)
{
if (string.IsNullOrEmpty(dbName)) //check if a database name has been entered
{
WriteLine("Database name cannot be blank. Enter a Database to back up");
}
else
{
SqlConnection objconnection = new SqlConnection(connString);
ServerConnection con = new ServerConnection(objconnection.DataSource.ToString());
Server server = new Server(con);
Backup source = new Backup();
source.Action = BackupActionType.Database;
source.Database = dbName;
BackupDeviceItem destination = new BackupDeviceItem(@"C:\Users\me\Desktop\", DeviceType.File);
source.Devices.Add(destination);
source.SqlBackup(server);
}
}
如果它运行正确,我应该在我的桌面上有一个数据库的备份文件。
解决方案
问题出在我在备份设备项中的第一个参数上。将其更改为 dbname(或任何其他名称)解决了该问题。
推荐阅读
- css - 无法从我的组件访问全局 SASS 变量
- javascript - 如何使用从 MySQLi 数据库中提取的php 地址在模态负载上加载谷歌地图
- snowflake-cloud-data-platform - 无法使用 Sqitch 连接到 Snowflake
- php - 为什么我的提交按钮没有提交到 mySQL?
- arrays - 遍历动态创建的数组
- windows - Windows 10 上的 linphone-desktop 编译错误
- java - 使用 TextView 制作像素矩阵
- mysql - MySQL快速检索每组中的最后一条记录
- excel - Excel VBA宏dir()函数在文件夹为空时返回值不正确
- node.js - MongoDB NoSQL 注入 - Node.js