首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

操作系统异常 32:"32(另一个程序正在使用此文件,进程无法访问。)

2012-03-11 
操作系统错误 32:32(另一个程序正在使用此文件,进程无法访问。)无法打开物理文件 E:\fls\App_Data\fls.md

操作系统错误 32:"32(另一个程序正在使用此文件,进程无法访问。)
无法打开物理文件 "E:\fls\App_Data\fls.mdf"。操作系统错误 32:"32(另一个程序正在使用此文件,进程无法访问。)"。
尝试为文件 E:\fls\App_Data\fls.mdf 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.SqlClient.SqlException: 无法打开物理文件 "E:\fls\App_Data\fls.mdf"。操作系统错误 32:"32(另一个程序正在使用此文件,进程无法访问。)"。
尝试为文件 E:\fls\App_Data\fls.mdf 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中。

源错误: 


行 29: 
行 30: ["ConnectionString"].ConnectionString);
行 31: con.Open();
行 32: DataSet ds = new DataSet();
行 33: SqlDataAdapter sda = new SqlDataAdapter("getdetails", con);
 

源文件: e:\fls\wangye\ctxq.aspx.cs 行: 31 

堆栈跟踪: 


[SqlException (0x80131904): 无法打开物理文件 "E:\fls\App_Data\fls.mdf"。操作系统错误 32:"32(另一个程序正在使用此文件,进程无法访问。)"。
尝试为文件 E:\fls\App_Data\fls.mdf 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中。]
  System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +118
  System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +379
  System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +3922
  System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +70
  System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +406
  System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +740
  System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +415
  System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +310
  System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +774
  System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +89
  System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +625
  System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +163
  System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +884
  System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +187
  System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +143
  System.Data.SqlClient.SqlConnection.Open() +262
  wangye_ctxq.GetDetails() in e:\fls\wangye\ctxq.aspx.cs:31
  wangye_ctxq.Page_Load(Object sender, EventArgs e) in e:\fls\wangye\ctxq.aspx.cs:21
  System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +37
  System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +91
  System.Web.UI.Control.OnLoad(EventArgs e) +127
  System.Web.UI.Control.LoadRecursive() +92
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3365



 



[解决办法]
已经说的很明了了,你的文件正在使用,不能附加此文件.

要么分离此文件进行附加.

已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中。

附加时,将数据库名称更改下,因为数据库已经存在此database 

[解决办法]
怎么连接数据库?
[解决办法]
如果是restore数据库,记得使用with move 语句,将新创建的数据库文件移动到另外一个位置。这样就不会与目前存在的数据库冲突。因为正在使用的数据库文件是不允许更改的,若更改就会抛出类似于你这样的错误。

热点排行