detach database file from local SQL Server Express instance by C#?
am 30.01.2008 13:09:02 von sg71.cherubI am using the following C# code to establish a SQL connect to a SQL
database file:
// connection string
// attach a SQL database file to a local SQL server express instance
string _connectionString = @"Server=.\SQLExpress; AttachDbFilename=C:
\BalanceDatabase_1.mdf; Trusted_Connection=Yes; User Instance=True";
// using System.Data.SqlClient;
SqlConnection _sqlConnection = new SqlConnection(_connectionString);
// open the connection
_sqlConnection.Open();
// do something
// close the connection
_sqlConnection.Close();
So far, the connection works fine.
However, next, I want to copy the database file to another folder. So
the following codes:
// source database file name
string sourceDatabaseFileName = @"C:\BalanceDatabase_1.mdf";
// target database file name
string targetDatabaseFileName = @"D:\BalanceDatabase_1.mdf";
// copy database file
System.IO.File.Copy(sourceDatabaseFileName, targetDatabaseFileName,
true);
Then the program came with runtime exception: "IOException was
unhandled: The process cannot access the file 'C:
\BalanceDatabase_1.mdf' because it is being used by another process."
Is it because the database file was sill attached to the local SQL
Server express instance? What can I do to bypass this problem? Detach
the database file? or dispose the local SQL Server express instance?
Many thanks indeed!