我试图替换我的解决方案中已经可用的excel中的值,通过使用oledb,它在本地运行良好,但它在服务器中引发了异常,我已经尝试了所有兼容性问题,但它已得到修复 .

我的oledb提供商是

Provider=Microsoft.ACE.OLEDB.12.0,

Extended Properites:扩展属性= Excel 12.0

例外:

EventSource:Microsoft Access数据库引擎消息:无效的参数 .

堆栈跟踪:at

System.Data.ProviderBase上的System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions选项,DbConnectionPoolKey poolKey,Object poolGroupProviderInfo,DbConnectionPool池,DbConnection owningObject)中的System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr,OleDbConnection连接) System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal的System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection,TaskCompletionSource1 retry,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal&connection)中的.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection,DbConnectionPoolGroup poolGroup,DbConnectionOptions userOptions) (DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource`1 retry,DbConnectionOptions userOptions)在System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnectivity)位于TTI.TaxExcise.Web.UI.Controllers.TaxableVehicleController.Exporttaxablesuspendedvehicle(Int64 id,String taxable)的System.Data.OleDb.OleDbConnection.Open()处的ction,DbConnectionFactory connectionFactory)

我的代码在这里

if (taxablevehicle == true)
{               
    OleDbConnection DupConn = new OleDbConnection();        
     string dupConnection = Constants.Provider2007 + Constants.DataSource +
         sDupFileName + ";" + Constants.ExtendedProperties2007;
     DupConn.ConnectionString = dupConnection;
     DupConn.Open();

     //To Insert the Records                
     svlSQL = "Insert into [Sheet1$] (VIN, GrossWeight, IsLoggingVehicle, UnitNumber) Values " +
         "('" + currVehicleDataUI.VIN + "', '" + sGrossWeight + "', '" + sIsLoggingVehicle + "','" + currVehicleDataUI.UnitNumber + "')";

    if (DupConn.State == ConnectionState.Closed)
    {
        DupConn.Open();
    }

    OleDbCommand Comm = new OleDbCommand(svlSQL, DupConn);
    Comm.ExecuteNonQuery();
    Comm = null;
}