我得到这样的错误'无法初始化OLE DB提供程序的数据源对象“Microsoft.ACE.OLEDB.12.0”链接服务器'

时间:2015-11-10 05:52:12

标签: c# sql-server ms-access

我收到这样的错误'无法为链接服务器“ClientAc901”初始化OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”的数据源对象。 用于链接服务器“ClientAc901”的OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”返回消息“Microsoft Office Access数据库引擎无法打开或写入文件'\ Pc09 \ data3 \ accountdata.mdb'。它已经独占打开由另一个用户,或者您需要获得查看和写入其数据的权限。“。'将msaccess数据导入sql。

这里msaccess数据库连接状态已关闭,但我得到同样的错误。

我已编写此代码将表从msaccess复制到sql

Hide   Copy Code
void copytable()
      {
          try
          {
              cmd = new SqlCommand("SP_Create");
              cmd.CommandType = CommandType.StoredProcedure;
              cmd.Parameters.AddWithValue("@servername", acc);
              cmd.Parameters.AddWithValue("@datasr", path);
              cmd.Parameters.AddWithValue("@table", sourcetable);
              cmd.Parameters.AddWithValue("@table1", desttable);
              cmd.Parameters.AddWithValue("@db", db);
              cmd.CommandTimeout = 180;
              cmd.Connection = cn1;
              connection.Close();
              string state = connection.State.ToString();
              if (cn1.State != ConnectionState.Open) { cn1.Open(); }
              cmd.ExecuteNonQuery();
              cn1.Close();
          }
          catch (Exception exc)
          {
              connection.Close();
          }
      }

0 个答案:

没有答案