C# Windows注册表引擎部分的Excel项中的设置无效
我有一个C#程序,它从csv文件导入数据,并将数据放入SQLServerCE数据库表(在本地C驱动器上)。该程序可在许多用户的机器上运行,但仍有少数用户不断出现错误:C# Windows注册表引擎部分的Excel项中的设置无效,c#,csv,oledb,C#,Csv,Oledb,我有一个C#程序,它从csv文件导入数据,并将数据放入SQLServerCE数据库表(在本地C驱动器上)。该程序可在许多用户的机器上运行,但仍有少数用户不断出现错误: System.Data.OleDb.OleDbException (0x80004005): Invalid setting in Excel key of the Engines section of the Windows Registry. at System.Data.OleDb.OleDbConnectionIntern
System.Data.OleDb.OleDbException (0x80004005): Invalid setting in Excel key of the Engines section of the Windows Registry. at
System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) at
System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) at
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) at
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at
System.Data.OleDb.OleDbConnection.Open()
这是C代码:
string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathToFile + ";Extended Properties=Text;";
string sqlCmd = "SELECT * FROM [" + filenameOnly + "]";
using (OleDbConnection conn = new OleDbConnection(connStr))
{
OleDbCommand cmd = new OleDbCommand(sqlCmd, conn);
using (OleDbDataAdapter dadapt = new OleDbDataAdapter(cmd))
{
conn.Open();
dadapt.TableMappings.Add("Table", dataSourceAlias);
dadapt.Fill(ds);
conn.Close();
}
}
我已经尝试过几种方法:
string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathToFile + ";Extended Properties=Text;";
string sqlCmd = "SELECT * FROM [" + filenameOnly + "]";
using (OleDbConnection conn = new OleDbConnection(connStr))
{
OleDbCommand cmd = new OleDbCommand(sqlCmd, conn);
using (OleDbDataAdapter dadapt = new OleDbDataAdapter(cmd))
{
conn.Open();
dadapt.TableMappings.Add("Table", dataSourceAlias);
dadapt.Fill(ds);
conn.Close();
}
}
谢谢你的建议。你看到了吗:?我已经编辑了你的标题。请看“”,其中的共识是“不,他们不应该”。@DonBoitnott-谢谢你的建议。“我试过了,但还没修好。”@JohnSaunders-谢谢你更新标题。给您带来的不便,我深表歉意