Crear una nueva base de datos (.mdb) con ADO.NET
-
19-08-2019 - |
Pregunta
¿Cómo puedo crear un archivo .mdb vacío? Estoy usando ADO.NET y C #. Gracias!
Solución
Copiar un archivo .mdb preexistente es la mejor manera.
Lo mismo es cierto para la mayoría de los otros formatos de bases de datos basados ??en archivos a los que ADO.NET se puede conectar, como los archivos de Excel. Dado que un sistema de base de datos basado en archivos está utilizando el sistema de archivos como host y API para comunicarse con el mundo exterior (en lugar de decir MSSQL que se comunica mediante TCP-IP), es bastante natural usar System.IO para acciones que, por ejemplo, MS- SQL se haría con T-SQL o procedimientos almacenados del sistema o una API específica de datos que se dirija a estos (digamos SMO en el caso del servidor SQL).
COPY model.mdb newdb.mdb
es el comando crear DB
DEL newdb.mdb es el comando drop
DB, etc.
Otros consejos
No creo que haya un ".NET nativo" manera de hacerlo, pero aún puede ajustar ADOX:
using ADOX; // add a COM reference to "Microsoft ADO Ext. x.x for DDL and Security"
static void CreateMdb(string fileNameWithPath)
{
ADOX.Catalog cat = new ADOX.Catalog();
string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Jet OLEDB:Engine Type=5";
cat.Create(String.Format(connstr, fileNameWithPath));
cat = null;
}