我有从c3语言中读取Excel的代码:
DataTable dtChildrenData = new DataTable();
OdbcConnection oConn = null;
try
{
if (File.Exists(strSheetPath))
{
oConn = new OdbcConnection();
oConn.ConnectionString = @"DSN=Excel Files;DBQ=" + strSheetPath + @";DriverId=1046;FIL=excel 12.0;MaxBufferSize=2048;PageTimeout=5;";
OdbcCommand oComm = new OdbcCommand();
oComm.Connection = oConn;
oComm.CommandText = "Select * From [Sheet1$]";
DataSet ds = new DataSet();
OdbcDataAdapter oAdapter = new OdbcDataAdapter(oComm);
oConn.Open();
oAdapter.Fill(ds);
dtChildrenData = ds.Tables[0];
}
}
finally
{
oConn.Close();
}
return dtChildrenData;
但我在IIS上部署Web应用程序时出现此错误。因为它在本地运行正常。
错误[IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序
如何解决这个问题。如果回答这个问题所需的任何信息(关于配置)
,请告诉我请记住,它在VS本地运行完美,当我在同一台机器上的IIS上部署它时会出错
答案 0 :(得分:0)
您正试图引用尚未创建的DSN。您可以通过打开Administrative Tools
文件夹然后启动Data Sources (ODBC)
小程序来创建其中一个
您似乎必须创建一个名为 Excel Files 的DSN,如果您有一台当前可用的机器,您可以从该机器复制设置。
答案 1 :(得分:0)
您可以通过提供文件路径以DSNless方式执行此操作。看到这篇文章: