打开与OLEDB的连接终止代码



我正在尝试在C#中创建一个DBF文件。不知何故,当我试图打开与OLEDB的连接时,该程序将终止而不会引发例外。以下是代码:

private void CreateDBFFile()
    {
        try
        {
            using (var dBaseConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; " + @" Data Source=k:Temp; " + @"Extended Properties=dBase IV"))
            {
                dBaseConnection.Open();
                string createTableSyntax =
                    "Create Table Person " +
                    "(Name char(50), City char(50), Phone char(20), Zip decimal(5))";
                var cmd = new OleDbCommand(createTableSyntax, dBaseConnection);
                cmd.ExecuteNonQuery();
            }
        }
        catch (Exception ex)
        {
            string x = ex.Message;
        }
    }

错误在此处丢弃:

dBaseConnection.Open();

我检查了事件日志,这也无济于事。以下是事件日志中的错误日志:'

Faulting application name: iisexpress.exe, version: 10.0.14358.1000, time 
stamp: 0x574fc56b
Faulting module name: clr.dll, version: 4.6.1649.1, time stamp: 0x58f97fe6
 Exception code: 0xc0000005
Fault offset: 0x0045068d
 Faulting process id: 0x3354
 Faulting application start time: 0x01d2eeacd40d1e91
Faulting application path: C:Program Files (x86)IIS Expressiisexpress.exe
 Faulting module path: C:WindowsMicrosoft.NETFrameworkv4.0.30319clr.dll
 Report Id: 18960866-5aa0-11e7-b3f6-005056c00008

任何帮助将不胜感激。

您的连接方式不是理想的。

做这件事,然后逐步浏览代码,您应该能够得到异常或可以工作:将您的连接字符串放入Web.config。

  <connectionStrings>
    <add name="Connection" connectionString="Data Source=k:Temp; xtended Properties=dBase IV Provider=Microsoft.Jet.OLEDB.4.0" />    
  </connectionStrings>

string connection = ConfigurationManager.ConnectionStrings["Connection"].ConnectionString;
           using (OleDbConnection dBaseConnection = new OleDbConnection(connection))
           {
               if (dBaseConnection.State == ConnectionState.Closed)
               {
                   dBaseConnection.Open();
               }
           }

一旦我从连接字符串删除此行

     "Extended Properties=dBase IV ". 

代码开始工作。

最新更新