我已经使用此连接字符串将我的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的名称?
答案 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