“System.Data.OleDb.OleDbException: 未指定的错误”

老李的技术杂货铺 2011-03-23 03:09:16
我用oledb来打开我原来上传到服务器上的excel文件,在解决方案里用“在浏览器中查看“打开那个页面可以运行起来,
但是部署到服务器上面去的时候在运行的时候就会说我错误,说是未指定的错误,求解???
是因为我部署的时候出问题了还是程序本身就写得有问题???
if (type == ".xls")
{
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sourceTableName + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
}
else if (type == ".xlsx")
{
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + sourceTableName + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";
}

query = "SELECT * FROM [Sheet1$]";

//Create the connection object
conn = new OleDbConnection(strConn);
//Open connection
if (conn.State == ConnectionState.Closed)
conn.Open();


其中sourceTableName是从上一个页面传过来的值,我测试的时候是“D:\bjtujob2011\UploadedExcel\23032011_150353.xls”
请求各位大神指点啊!!!
...全文
179 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wxr0323 的回复:]

strConn
连接字符串 配的是服务器的链接字符串吗
[/Quote]
什么叫服务器的链接字符串啊?? 我还是个小菜~ 请指教啊
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 moudy 的回复:]

我估计是服务器的ASPNET和NET SERVICE用户对EXCEL的读取权限问题
[/Quote]
服务器对Excel的读取权限?什么意思?服务器不能更改Excel?
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yeness 的回复:]

加入异常处理,把异常抛出就知道是什么错误了
[/Quote]
说的是[OleDbException (0x80004005): 未指定的错误]
子夜__ 2011-03-23
  • 打赏
  • 举报
回复
strConn
连接字符串 配的是服务器的链接字符串吗
moudy 2011-03-23
  • 打赏
  • 举报
回复
我估计是服务器的ASPNET和NET SERVICE用户对EXCEL的读取权限问题
whizen 2011-03-23
  • 打赏
  • 举报
回复
估计是权限的问题。把文件当表达话,最好把文件夹设置为管理员权限。
xuan.ye 2011-03-23
  • 打赏
  • 举报
回复
加入异常处理,把异常抛出就知道是什么错误了
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb; namespace 保存GRID数据示例 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button2_Click(object sender, EventArgs e) { //提示是否修改 #region//--------修改数据就将数据保存并显示 if (MessageBox.Show("是否保存数据?", "系统消息", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK) { #region ..........这里是保存数据代码 //结束编辑 dataGridView1.EndEdit(); //重新用表格数据填充数据容器 OleDbDataAdapter Ada = new OleDbDataAdapter(); DataTable table = (DataTable)dataGridView1.DataSource; //重新启动连接 String ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Windows.Forms.Application.StartupPath + "/驱动.mdb"; //用Buider方法更新数据 using (OleDbConnection connection = new OleDbConnection(ConnectionString)) { Ada.SelectCommand = new OleDbCommand("SELECT * FROM 表", connection); OleDbCommandBuilder builder = new OleDbCommandBuilder(Ada); Ada.UpdateCommand = builder.GetUpdateCommand(); try { //更新数据表数据时 Ada.Update(table); table.AcceptChanges(); MessageBox.Show("操作已成功!数据将全部被保存......", "系统消息", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); } catch (System.Data.OleDb.OleDbException ex) { throw new Exception(ex.Message); } } #endregion } #endregion #region //--------不修改就初始化显示以前数据 else { MessageBox.Show("用户取消操作,数据将恢复到初始状态......"); OleDbConnection A = new OleDbConnection(); A.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Windows.Forms.Application.StartupPath + "/驱动.mdb"; try { A.Open(); DataSet B = new DataSet(); string sqlStr = "Select * from 表"; OleDbDataAdapter C = new OleDbDataAdapter(sqlStr, A); C.Fill(B); dataGridView1.DataSource = B.Tables[0]; } catch (System.Data.OleDb.OleDbException ex) { throw new Exception(ex.Message); } finally { A.Close(); } } #endregion } private void button1_Click(object sender, EventArgs e) { OleDbConnection A = new OleDbConnection(); A.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Windows.Forms.Application.StartupPath + "/驱动.mdb"; try { A.Open(); DataSet B = new DataSet(); string sqlStr = "Select * from 表"; OleDbDataAdapter C = new OleDbDataAdapter(sqlStr, A); C.Fill(B); dataGridView1.DataSource = B.Tables[0]; } catch (System.Data.OleDb.OleDbException ex) { throw new Exception(ex.Message); } finally { A.Close(); } } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { } } }

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧