Criando um novo banco de dados (.mdb) com ADO.NET
-
19-08-2019 - |
Pergunta
Como posso criar um arquivo .mdb vazio? Estou usando ADO.NET e C #. Obrigado!
Solução
Copiar um arquivo .mdb pré-existente é a melhor maneira.
O mesmo é verdadeiro para a maioria dos outros formatos de dados Filebased que ADO.NET pode conectar-se, como arquivos do Excel. Uma vez que um sistema de banco de dados baseado em arquivo está usando o sistema de arquivos como host e API para a comunicação com o mundo exterior (em oposição a dizer MSSQL que comunica usando TCP-IP), é bastante natural para usar System.IO para ações que nos digamos MS- SQL seria feito com T-SQL ou procedimentos armazenados do sistema ou de uma API específica de dados que tem como alvo thoses (dizem SMO no caso de servidor SQL).
COPY model.mdb newdb.mdb
é o comando criar DB
DEL newdb.mdb is the drop
comando DB, etc.
Outras dicas
Eu não acho que há um "NET nativo" maneira de fazer isso, mas você ainda pode envolver 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;
}