public AccessDatabaseParams( string file, OleDbProviders provider) { string p = ""; string ext = System.IO.Path.GetExtension(file); switch (provider) { case OleDbProviders.ACE: p = "Microsoft.ACE.OLEDB.12.0"; break; case OleDbProviders.Jet: p = "Microsoft.Jet.OLEDB.4.0"; break; case OleDbProviders.Auto: if (ext == ".accdb" || IntPtr.Size >= 8) { p = "Microsoft.ACE.OLEDB.12.0"; } else { p = "Microsoft.Jet.OLEDB.4.0"; } break; } OleDbConnectionStringBuilder b = new OleDbConnectionStringBuilder(); b.Provider = p; b.DataSource = file; this.ConnectionString = b.ConnectionString; }
public ExcelDatabaseParams( string file, bool headers, ExcelFormats format = ExcelFormats.Auto, OleDbProviders provider = OleDbProviders.Auto) { string p = ""; string extended_properties = ""; string ext = System.IO.Path.GetExtension(file); switch (provider) { case OleDbProviders.ACE: p = "Microsoft.ACE.OLEDB.12.0"; break; case OleDbProviders.Jet: p = "Microsoft.Jet.OLEDB.4.0"; break; case OleDbProviders.Auto: if (format == ExcelFormats.Xlsx || ext == ".xlsx" || IntPtr.Size >= 8) { p = "Microsoft.ACE.OLEDB.12.0"; } else { p = "Microsoft.Jet.OLEDB.4.0"; } break; } /*Формирование расширенных свойств подключения*/ switch (format) { case ExcelFormats.Xlsx: extended_properties = "Excel 12.0 Xml;"; break; case ExcelFormats.Xls: extended_properties = "Excel 8.0;"; break; case ExcelFormats.Auto: if (ext == ".xls") { extended_properties = "Excel 8.0;"; } else { extended_properties = "Excel 12.0 Xml;"; } break; } if (headers) { extended_properties += "HDR=YES;"; } else { extended_properties += "HDR=NO;"; } OleDbConnectionStringBuilder b = new OleDbConnectionStringBuilder(); b.Provider = p; b.DataSource = file; b["Extended Properties"] = extended_properties; this.ConnectionString = b.ConnectionString; }