Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 x64位版本的Microsoft.Jet.OLEDB.4.0提供程序的替代解决方案_Visual Studio 2010_C# 4.0_Ms Access_Nunit_Oledb - Fatal编程技术网

Visual studio 2010 x64位版本的Microsoft.Jet.OLEDB.4.0提供程序的替代解决方案

Visual studio 2010 x64位版本的Microsoft.Jet.OLEDB.4.0提供程序的替代解决方案,visual-studio-2010,c#-4.0,ms-access,nunit,oledb,Visual Studio 2010,C# 4.0,Ms Access,Nunit,Oledb,我目前正在将值保存到access数据库,为此我使用了Microsoft.Jet.OLEDB.4.0提供程序,我在visual studio中的项目中配置了从任何cpu到x86的平台模式,它在x86平台上运行良好,但当我使用nunit启动单元测试时,它不接受x86平台,nunit显示错误 “UnitTest\u Finance.Test.Class1.InsertCashPayment: System.InvalidOperationException:“Microsoft.Jet.OLEDB.4

我目前正在将值保存到access数据库,为此我使用了Microsoft.Jet.OLEDB.4.0提供程序,我在visual studio中的项目中配置了从任何cpu到x86的平台模式,它在x86平台上运行良好,但当我使用nunit启动单元测试时,它不接受x86平台,nunit显示错误

“UnitTest\u Finance.Test.Class1.InsertCashPayment: System.InvalidOperationException:“Microsoft.Jet.OLEDB.4.0”提供程序未在本地计算机上注册。“

现在,我想要在使用nunit执行单元测试时处理此错误的替代方法

这是我的代码,仅供参考

class RepairDLL
    {
        string dbConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/AutoRepairDB.mdb";


        //Method to Booking Value
        public virtual bool Insert_Data_Repair_History(EntityClass ec)
        {
            bool isInsert = false;

            //Connect to Database
            OleDbConnection connection = new OleDbConnection(dbConn);
            connection.Open();

            try
            {
                //Insert Customer Value
                string sql = "INSERT into [Repair_History] (FirstName,LastName,City,State,VehicleNo,LienseNo,RepairDate,Summary,Charge) "
                              + "VALUES ('" + ec.R_firstName + "','" + ec.R_lastName + "','" + ec.R_city + "','" + ec.R_state + "','" + ec.R_vehicleNo + "','" + ec.R_licenseNo + "','" + ec.R_date + "','" + ec.R_summary + "','" + ec.R_charge + "')";
                OleDbCommand command = new OleDbCommand(sql, connection);
                command.ExecuteNonQuery();
                connection.Close();

                isInsert = true;
            }
            catch
            {
                throw new Exception();

            }
            finally
            {
                // Close the connection
                if (connection != null)
                {
                    connection.Close();
                }
            }

            return isInsert;
        }
    }

Jet数据库引擎没有64位版本,因此64位应用程序必须使用64位版本的(ACE),并像这样调用它

Provider=Microsoft.ACE.OLEDB.12.0;
ACE还有一个32位版本,因此使用ACE的应用程序可以在32位和64位环境中工作。还请注意,Jet不推荐用于新的应用程序。

这有助于我安装Acess数据库引擎(ACE)。