COMO CRIO UM ARQUIVO ACCDB SEM O ACCESS INSTALADO?

MARSOLIM 13/02/2014 18:36:01
#434746
olá pessoal alguem sabe como criar um arquivo accdb em um pc sem o access? tendo o access posso adicionar a referência dele e criar um novo database mas tem como fazer sem ser por esse meio igual criar um txt? não encontrei nada parecido nem no vbmania e nem no google.

agradeço muito
OCELOT 14/02/2014 09:35:43
#434763
Eu diria que a forma mais fácil seria você incluir em seu projeto um arquivo accdb em branco ou com a estrutura básica que você precisa e então copiar ele quando precisar criar um arquivo novo.

Outra forma talvez seria com o ADOX, me lembro que mdb era possível criar com ele, mas não sei dizer se accdb é possível criar com ele.
MARSOLIM 14/02/2014 09:59:41
#434765
olá ocelot agradeço pela atenção. então isso é o que estou fazendo no momento crio o accdb usando o próprio access. o problema é que imagina se por um acaso o accdb seja excluido do computador sem access aí queria um jeito do aplicativo criar outro accdb nesse computador. claro que o backup tem que ser a melhor forma mas vamos supor que por algum motivo ele não existe. eu posso ainda deixar uma copia do accdb em um servidor para ser feito download mas corre o risco do usuário não ter acesso a internet. então isso seria uma forma de deixar tudo mais simplificado para o usuário embora para mim seja menos simplificado hehehe.
no caso de tentar adox será que funciona em um computador sem o access? apenas enviando a dll junto com o programa?
KERPLUNK 14/02/2014 10:05:59
#434766
O melhor mesmo é começar a pensar em usar um banco de dados de verdade. Access é só um repositório.
MARSOLIM 14/02/2014 10:35:44
#434767
depois de muitas pesquisas acho que encontrei algo que poderá me ajudar:

http://www.vbforums.com/showthread.php?637581-RESOLVED-Adox-and-accdb

não posso testar agora porque não tenho uma máquina sem office e access para ver se vai funcionar mas antes de segunda eu instalo um xp e um 7 limpos em um vm e testo hehehe.

kerplunk eu sei que muitos programadores torcem o nariz para o access mas eu te digo que ele é muito bom como banco de dados tenho sistemas funcionando com ele a anos e com milhoes de registros e nunca tive problemas anormais. alguns desses sistema em puro access dividido em frontend e backend e não tenho nada a reclamar. tenho outros sistemas em vb e mysql tambem. é mais questão de preferencia e do tipo de projeto. para alguns o access é melhor do que mysql
TUNUSAT 14/02/2014 14:26:48
#434785
MARSOLIM,


No VB6 existe um [Ô]Add-Ins[Ô] / [Ô]Visual Data Manager[Ô] (na toolbar -> VisData) no qual você pode criar a estrutura completa de um arquivo Access versões 2.0 e 7.0 apartir de um [Ô]SQL Statement[Ô] criando assim uma base de dados.
[Ô]File[Ô] / [Ô]New[Ô] / [Ô]Microsoft Access[Ô] / 2 ou 7 ... (somente [Ô].mdb[Ô])
[Ô]Select Microsoft Access Database to Create[Ô] ...

-------------------
http://msdn.microsoft.com/en-us/library/aa445847(v=vs.60).aspx
-------------------

Estou fuçando no [Ô].Net[Ô] para ver se acho algo parecido... Por hora só achei isto:

Criar a partir de um modelo conceitual:

---------------------------------------------------------------------------------------------------------
EF - Model First - Gerando o banco de dados a partir do modelo conceitual
http://www.macoratti.net/10/02/ef_bas10.htm
---------------------------------------------------------------------------------------------------------

Acho que ele só cria para o SQL Server... não tem opção para Access...

Talvez tenha um [Ô]Add-In[Ô] para o Visual Studio.Net ... veja:
http://www.vbweb.com.br/forum_resp.asp?Codigo=230953

AHHH! Veja isto!

================================================
VB.NET 2005 - Criando a base de dados para sua aplicação
http://www.macoratti.net/vb5_cbd1.htm
================================================

Mas a extensão é [Ô].mdf[Ô]? Será que já te ajuda?

Ixi ... não achei mais nada relativo ao [Ô].accdb[Ô]... se eu achar mais alguma coisa te aviso.


[][ô]s,
Tunusat.
MARSOLIM 14/02/2014 14:53:57
#434789
olá tunusat agradeço pela atenção. na verdade eu consegui usando adox assim
        Dim nBanco As New ADOX.Catalog()
nBanco.Create([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & System.AppDomain.CurrentDomain.BaseDirectory() & [Ô]\DataBase.accdb;Jet OLEDB:Database Password=123456[Ô])
nBanco = Nothing
acredito que colocando a dll Interop.ADOX.dll no projeto deve dar certo nos computador que não tem access
OCELOT 14/02/2014 15:17:01
#434792
Só que desta forma ele cria o banco de dados no formato mdb e não accdb, pois Jet OLEDB é a engine do access até o formato do Access 2000/XP/2003, a partir do 2007 é outro formato
MARSOLIM 14/02/2014 15:26:43
#434795
é verdade ocelot eu não tinha observado bem. deve ter alguma coisa que substitua isso para accdb ainda vou descobrir como rsrs
TUNUSAT 14/02/2014 16:05:58
#434800
MARSOLIM,

Basta substituir o Provider:

--------------------------------------------------------------
http://www.connectionstrings.com/access/
--------------------------------------------------------------
Microsoft ACE OLEDB 12.0
--------------------------------------------------------------
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;
Persist Security Info=False;
--------------------------------------------------------------


[][ô]s,
Tunusat.
MARSOLIM 14/02/2014 18:21:14
#434808
no momento deu certo assim
        nBanco.Create([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & System.AppDomain.CurrentDomain.BaseDirectory() & [Ô]\DataBase.accdb;JET OLEDB:Database Password=123456[Ô])
engraçado que para criar o banco usa ACE mas para a senha ainda é o JET. tentei passar com ace mas deu erro e coloquei jet e funcionou. já o persist security info acho que só funciona para jet e mdb pois com ele dá erro. a dúvida ainda é se levando a dll do adox para o pc sem office isso irá dar certo. mas no momento acho que é isso rsrs
Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas