从sql express

时间:2017-09-18 04:27:50

标签: c# sql-server winforms database-backups

我已经使用此连接字符串将我的sql数据库自动连接到sql express:

Data Source=.\SQLEXPRESS; AttachDBFileName=|DataDirectory|\DB\MyDBName.mdf; User ID=sa;Password=MyPass;Persist Security Info=True

一切正常,但问题是当我想从我的数据库中获取备份时.sql express在附加它时更改了db的名称,因此在备份查询中我收到此错误:

  

数据库'MyDBName'不存在。请确保输入了名称   正确。 BACKUP DATABASE异常终止。

我的备份查询是:

BACKUP DATABASE [MyDBName] TO DISK=N'" + filePath + "' WITH NOFORMAT, INIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10;

有没有办法从sql express获取我的db的当前名称 OR 在自动附加到sql express时设置我的db的名称?

1 个答案:

答案 0 :(得分:1)

首先执行以下查询并获取数据库名称

SELECT DB_NAME() AS DataBaseName

 SqlCommand cmd = new SqlCommand("SELECT DB_NAME() AS dbName",your_connection);
 string name = cmd.executeScalar().ToString();
 //now do what ever you want to with db name