我有要求将excel数据上载到SQL Server 2005表中的要求。最初我将Excel数据复制到一个临时表,并基于条件我已更新并将记录插入到SQL Server表中。将Excel数据上传到SQL Server 2005时出错2005
一切工作正常,在我的本地系统。同一个程序,我搬到了质量服务器那里,我遇到这个错误
的“Microsoft.ACE.OLEDB.12.0”供应商未在本地计算机上注册。
然后我们在质量服务器上安装了'Microsoft.ACE.OLEDB.12.0提供程序。此错误出现
Microsoft Office Access数据库引擎无法打开或写入文件''。它已经被其他用户以独占方式打开,或者您需要查看权限和写入其数据。”
请帮我解决这个问题。
SqlConnection con = new SqlConnection();
con = SQLManager.openSQLConnection();
string path = FileUpload1.PostedFile.FileName;
string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0 Xml;Persist Security Info=False";
//Create Connection to Excel work book
OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
OleDbCommand cmd = new OleDbCommand("Select [CM_CODE],[CM_NAME],[CM_ADD1],[CM_ADD2],[CM_ADD3],[CM_ADD4],[CM_CITY],[CM_PHONE],[CM_CG_CODE],[CM_CO_CODE],[CM_EXPIRY_DATE],[CM_PINCODE],[CM_EMAIL] from [Sheet1$]", excelConnection);
excelConnection.Open();
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
问候, 沙迪亚
是否服务器进程有权访问文件路径或可它甚至看到了吗? –
我通过由我的应用程序组成的URL访问服务器系统。 Excel工作表上传来自我的系统,通过我的应用程序。 – Sathya
如果你通过你的网站上传一个excel文件,IIS可能仍然在处理文件的上传,而你的进程试图访问这个文件,因此给你看到的错误。 –