CRIAR BANCO SQLSERVER VIA VB
Bom dia
Estou com uma necessidade nem sei se viável:
Partindo do principio que existe o sql instalado na maquina
gostaria que um programa vb descobrisse o nome do banco na maquina , executasse um script de criação de todas as tabelas de minha aplicacao
E possivel ? Alguem pode me ajudar ?
Atenciosamente
Fernando
Estou com uma necessidade nem sei se viável:
Partindo do principio que existe o sql instalado na maquina
gostaria que um programa vb descobrisse o nome do banco na maquina , executasse um script de criação de todas as tabelas de minha aplicacao
E possivel ? Alguem pode me ajudar ?
Atenciosamente
Fernando
Criar o banco de dados por script é bastante simples, mas encontrar as instâncias de forma automática é um pouco mais complicado. Existe um serviço chamado [Ô]SQL Server Browser Service[Ô], ele precisa estar instalado e rodando tanto na máquina cliente quanto no servidor, então existe aqui uma dependência bastante grande e que muito provavelmente um usuário comum não saberia identificar se a possui ou não. Além disso, é um serviço do windows que precisa ser consumido, o que é notoriamente uma das coisas que o VB6 não é nem um pouco bom em fazer, pra não dizer EXTREMAMENTE difÃcil. Então no mÃnimo o nome da instância será necessário para que você possa conectar no servidor e executar o script de criação. Com .NET isso é muito mais fácil, com dois comandos temos uma lista de todas as instâncias SQL Server ao alcance da máquina onde o comando foi executado(à nÃvel de LAN).
Mas quem sabe existe uma outra maneira. Quem sabe você está indo [Ô]pelo caminho errado[Ô]. Explique o que precisa fazer, todo o cenário que talvez exista uma outra solução que possamos ajudar...
Mas quem sabe existe uma outra maneira. Quem sabe você está indo [Ô]pelo caminho errado[Ô]. Explique o que precisa fazer, todo o cenário que talvez exista uma outra solução que possamos ajudar...
Partindo do princÃpio que você tem o SQL instalado na máquina, conhece o nome da instância, senha e usuário...
Basta se conectar com o banco Master (que já vem como padrão do SQL Server) e usar a instrução SQL CREATE DATABASE.
Segue a documentação sobre a instrução:
https://msdn.microsoft.com/pt-br/library/ms176061.aspx
Abraços!
Basta se conectar com o banco Master (que já vem como padrão do SQL Server) e usar a instrução SQL CREATE DATABASE.
Segue a documentação sobre a instrução:
https://msdn.microsoft.com/pt-br/library/ms176061.aspx
Abraços!
BOM DIA
Obrigado pela ajuda ! O que eu gostaria de fazer é o seguinte : Ter minha aplicação disponivel na net para futuros clientes baixarem em suas maquinas com a unica exigencia de existir nessa maquina o sql server express instalado sendo assim apos a instalação da minha aplicação na primeira execução da mesma ela criar o banco de dados automaticamente dentro do sql server permitindo assim que o usuário facas testes necessarios na aplicacao.
Grato
Fernando Fecher
Obrigado pela ajuda ! O que eu gostaria de fazer é o seguinte : Ter minha aplicação disponivel na net para futuros clientes baixarem em suas maquinas com a unica exigencia de existir nessa maquina o sql server express instalado sendo assim apos a instalação da minha aplicação na primeira execução da mesma ela criar o banco de dados automaticamente dentro do sql server permitindo assim que o usuário facas testes necessarios na aplicacao.
Grato
Fernando Fecher
Por favor alguem teria como explicar como pelo menos o vb executar um script para criacao total de um banco sql server express
Atenciosamente
fernando
Atenciosamente
fernando
O script é um arquivo texto normal, você lê como um arquivo texto normal. Como o conteúdo são queries, basta executá-las.
Basta executar mesmo o script, mas eu recomendo duas práticas:
1 - Usar a dll Microsoft.SqlServer.Smo.dll ... Com ela, você consegue executar um script como se tivesse no Management SQL. Recurso interessante, porque ele trata instruções como [Ô]GO[Ô], que não são nativas do SQL em si... e que se você tentar executar no SqlCommand vai dar pau.
2 - Criar um interpretador para ler o seu arquivo e executar linha a linha tratada.
Eu já testei os dois métodos e ambos funcionam bem. Cada um com suas vantagens e desvantagens.
No primeiro caso, você fica dependente de algumas dlls (porque o Smo trabalha em conjunto com outras) e isso nunca é bom. A vantagem é que é super simples e você não precisa tratar nada (tipo nosso amigo GO)
No segundo caso, você vai perder algumas horas montando seu interpretador. Você fica completamente livre de qualquer uso de dll, mas em compensação, é um pouco mais trabalhoso. Mas uma vez feito, poderá ser usado em qualquer projeto.
1 - Usar a dll Microsoft.SqlServer.Smo.dll ... Com ela, você consegue executar um script como se tivesse no Management SQL. Recurso interessante, porque ele trata instruções como [Ô]GO[Ô], que não são nativas do SQL em si... e que se você tentar executar no SqlCommand vai dar pau.
2 - Criar um interpretador para ler o seu arquivo e executar linha a linha tratada.
Eu já testei os dois métodos e ambos funcionam bem. Cada um com suas vantagens e desvantagens.
No primeiro caso, você fica dependente de algumas dlls (porque o Smo trabalha em conjunto com outras) e isso nunca é bom. A vantagem é que é super simples e você não precisa tratar nada (tipo nosso amigo GO)
No segundo caso, você vai perder algumas horas montando seu interpretador. Você fica completamente livre de qualquer uso de dll, mas em compensação, é um pouco mais trabalhoso. Mas uma vez feito, poderá ser usado em qualquer projeto.
O DS2T tem razão, mas para fazer uso da biblioteca SMO, você precisa ter instalado o SQL Server Management Objects
Tópico encerrado , respostas não são mais permitidas