页面导入Excel的功能在F5运行里面用得好好的,当发布到IIS里面就报错了,错误如下:
异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误源错误:
行 306: OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);
行 307: DataSet myDataSet = new DataSet();
行 308: myCommand.Fill(dataset, "ExcelInfo"); //就是报的这行错误
行 309: int i = dataset.Tables["ExcelInfo"].Rows.Count;
行 310: string str = dataset.Tables["ExcelInfo"].Rows[0][0].ToString();导入的代码如下:string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + File1.Value.ToString() + ";" + "Extended Properties=Excel 8.0;";
OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(dataset, "ExcelInfo");
int i = dataset.Tables["ExcelInfo"].Rows.Count;
string str = dataset.Tables["ExcelInfo"].Rows[0][0].ToString();
gridView.DataSource = dataset.Tables["ExcelInfo"];
gridView.DataBind();请高手指点迷津~
异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误源错误:
行 306: OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);
行 307: DataSet myDataSet = new DataSet();
行 308: myCommand.Fill(dataset, "ExcelInfo"); //就是报的这行错误
行 309: int i = dataset.Tables["ExcelInfo"].Rows.Count;
行 310: string str = dataset.Tables["ExcelInfo"].Rows[0][0].ToString();导入的代码如下:string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + File1.Value.ToString() + ";" + "Extended Properties=Excel 8.0;";
OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(dataset, "ExcelInfo");
int i = dataset.Tables["ExcelInfo"].Rows.Count;
string str = dataset.Tables["ExcelInfo"].Rows[0][0].ToString();
gridView.DataSource = dataset.Tables["ExcelInfo"];
gridView.DataBind();请高手指点迷津~
{
myCommand.Fill(dataset, "ExcelInfo");
}
catch (Exception e)
{
throw e;
}
throw ex;这行报错啊!睡知道这是什么原因吗!
iis
web配置
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<add name="CodematicConnectionString1" connectionString="Data Source=.;Initial Catalog=Codematic;Persist Security Info=True;User ID=sa;MultipleActiveResultSets=False;Packet Size=4096;Application Name="Microsoft SQL Server Management Studio""
providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<!-- 连接字符串是否加密 -->
<add key="ConStringEncrypt" value="false"/>
<!-- 连接字符串,(可以扩展支持不同数据库)如果是加密方式,上面一项要设置为true,如果是明文server=127.0.0.1;database=codematic;uid=sa;pwd=,上面设置为false -->
<add key="ConnectionString" value="server=.;database=codematic;uid=sa;pwd=sasa"/><!--8618B53C32BF8E0B6CD3BDFF59B9F24BE1C6D586A5915C8B6DC69A09ABB2DF60A4026BDE8E76B6FDE2BFCEA3FA8E06CB-->
<add key="ConnectionString2" value="server=127.0.0.1;database=codematic2;uid=sa;pwd="/>
<!--虚拟目录名称(如果是站点,则为空) -->
<add key="VirtualPath" value=""/>
<!--网站域名,本地目录可以用. -->
<add key="WebURL" value=""/>
<!--默认菜单是否是展开状态-->
<add key="MenuExpanded" value="false"/>
<!--是否把日志写入文件ErrorMessage.txt-->
<add key="LogInFile" value="false"/>
<!-- 是否把日志写入数据库-->
<add key="LogInDB" value="true"/>
<!-- 保留最近日志天数-->
<add key="LogLastDays" value="1"/>
<!--文档的图片上传(images下的)文件夹名-->
<add key="UpNewsImageFolder" value="ImgNewsup"/>
<!--图片文件夹名-->
<add key="ProductImageFolder" value="ProductImages"/>
<!--管理员所属部门名称,-->
<add key="AdManager" value="管理部"/>
<!--实体对象内容缓村的时间(分钟)-->
<add key="ModelCache" value="30"/>
</appSettings>
<system.web>
<httpRuntime executionTimeout="3600" maxRequestLength="1048576"/>
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
<compilation debug="true" />
<customErrors mode="Off" />
<identity impersonate="true"/>
<authentication mode="Forms">
<forms name="forums" path="/" loginUrl="Login.aspx" protection="All" timeout="40">
</forms>
</authentication>
</system.web>
</configuration>问题是我在本地运行里可以导入Excel,发布上去就不行了
连接改成
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + File1.Value.ToString() + "';Extended Properties=Excel 8.0;"
这样试试呢~
那估计应该是IIS配置的错误吧
你自己多检查下
我以前做的上传数据,也发生过这种问题!
或者是你自己需要的权限!
批量更新用的?