I 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 = "Data Source=.\\SQLEXPRESS;AttachDbFilename="+ GlobalClass.app.ToString()+"\\dbRDAgent.mdf;Integrated Security=True;Connect Timeout=30;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 = GlobalClass.app.ToString()+"\\dbRDAgent.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?
Loading
ravindra mauryaPosted Jul 30, 2013, 5:29 AM
now try to copy your data file(.mdf and .ldf)
Posted Oct 14, 2010, 11:03 AM
Sure this will work.
Posted Oct 14, 2010, 11:01 AM
http://social.msdn.microsoft.com/Forums/en/sqlsmoanddmo/thread/2708f62e-984f-48cb-a522-6e38d259cbc7
Hope this help you.