Skip Navigation Links



Translate this page now :



»Programação
»Programação.NET
»Banco de Dados
»Webdesign
»Office
» Certificações Microsoft 4
»Treinamentos4
»Programação 4
»Webdesign«
»Office & User Tips«
»Grupos de UsuĆ”rios
»CĆ©lulas AcadĆŖmicas«
intcontpiada : 118
Os 3 Porquinhos
Você já está cadastrado e participa do grupo de usuários de sua cidade ? Se não, comente o porque.
 
 
FaƧa um pequeno teste com 10 questƵes de VB
.:.
Teste seus conhecimentos em Visual Basic, SQL Server e ASP 3.0 com nossas provas on-line
.:.
Aprimore seus conhecimentos em programaĆ§Ć£o com nosso treinamento on-line de lĆ³gica de programaĆ§Ć£o
.:.
Veja nosso calendƔrio de treinamentos
Gostou da PƔgina?
Então

para um amigo!

Pesquisa personalizada
Pesquisar Dicas:

 






Como utilizar o SQL-DMO para gerenciar o SQL Server

O SQL Server fornece um conjunto de componentes COM que permitem gerenciarmos o servidor SQL Server via código, tirando o máximo de proveito de seus recursos. Esse conjunto de componentes é chamado de SQL-DMO.

Para termos uma noção de sua capacidade vale mencionar que o Enterprise Manager foi todo construido utilizando o SQL-DMO, ou seja, todas as funções que o Enterprise Manager possui podem ser feitas via código através do SQL-DMO, o que nos permitiria inclusive criar um novo Enterprise Manager.

Veja algumas utilidades do SQL-DMO :

  • Obter informações sobre logins e permissionamentos para que o permissionamento da aplicação sempre esteja de acordo com o permissionamento do servidor.
  • Gerenciar agendamentos e regras de negócio. Um gerente, por exemplo, pode pedir para ser avisado por e-mail sempre que as vendas da semana atinjam 100.000 . Você pode colocar uma interface amigável para que o gerente configure esses tipos de alertas na sua aplicação.
  • Permitir o gerenciamento de objetos no MSDE, versão reduzida do SQL Server que não possui enterprise manager.
  • Criar aplicações de auxilio ao desenvolvimento, tal como aplicações que realizem a documentação de objetos no servidor.


Vamos criar uma pequena aplicação para edição de procedures, como um pequeno exemplo sobre como utilizar o SQL-DMO. Precisaremos dos seguintes componentes no formulário :

2 botões
4 caixas de texto
1 listbox
1 RichTextBox

As 4 caixas de texto serão usadas para que o usuário informe o nome do servidor, nome do banco de dados, login e senha no banco. O botão fará a conexão com o banco e preencherá a listbox com o nome das procedures existentes no banco de dados.

Ao clicarmos no nome da procedure na listbox exibiremos seu código no RichTextBox. O usuário poderá alterar o código da procedure e clicar no botão gravar para atualizar a procedure no servidor.

Primeiramente precisamos fazer um References na aplicação para a biblioteca do SQL-DMO, que se chama "Microsoft SQLDMO Object Library". Utilizaremos 3 variáveis a nível de projeto, veja :

Dim srv As New SQLServer
Dim db As SQLDMO.Database
Dim sp As SQLDMO.StoredProcedure

Uma variável (srv) contém um objeto que representa o servidor, outra (db) um objeto que representa o banco de dados e a 3a (sp) um objeto que representa uma stored procedure.

Vamos então fazer o código do botão conectar. Além de se conectar ao servidor SQL usando o objeto SQLServer (na variável SRV) este botão deve preencher a listbox com o nome das stored procedures existentes no banco de dados escolhido pelo usuário. Veja :

Private Sub cmdConectar_Click()
Dim a As Integer

'Faz a conexão com o servidor SQL Server
x.Connect txtServidor.Text, txtLogin.Text, txtsenha.Text

'Obtem uma referência ao banco de dados selecionado pelo usuário
Set db = x.Databases(txtbanco.Text)

'Faz um laço através das procedures existentes neste banco de dados
'

For a = 1 To db.StoredProcedures.Count
List1.AddItem db.StoredProcedures(a).Name
Next
End Sub


Agora precisamos fazer com que o click na listbox exiba o script da procedure no RichtText (que chamamos de rtbproc). Devemos recuperar a procedure do banco de dados pelo seu nome, que se encontra na propriedade List da Listbox. Veja :


Private Sub List1_Click()
rtbproc.Text = db.StoredProcedures(List1.List(List1.ListIndex)).Text
'Observe que usando o listIndex estamos recuperando o nome da procedure
'clicada

End Sub


Por fim devemos codificar o botão gravar, que deverá transmitir ao servidor as alterações feitas pelo usuário na procedure. Veja :

Private Sub cmdGravar_Click()
'Obtem a procedure do banco de dados
Set sp = db.StoredProcedures(List1.List(List1.ListIndex))
'Realiza a alteração da procedure
sp.Alter rtbproc.Text
End Sub


Lembre-se que ao alterar uma procedure seu código é recompilado.

Com este artigo vimos um pequeno exemplo das funcionalidades do SQLDMO. Assim como vimos a coleção StoredProcedures, o DMO possui diversas outras (Tables, logins, etc.) que permitem a você gerenciar o SQL Server a partir de sua aplicação VB.


Dennes Torres
MCSD,MCSE,MCDBA





Envie seus comentįrios sobre este artigo

Nome :

E-mail :

Comentários :


Avise-me quando houverem novos comentįrios nesta pįgina

Veja abaixo os comentários já enviados :

Nome : João Paulo E-Mail : jotap83@hotmail.com
Boa tarde

Queria saber se tem como gerar o script sql completo do banco de dados, utilizando SQLDMO, se houver então me explique como porfavor.

Obrigado
Nome : Dennes Torres E-Mail : dennes@bufaloinfo.com.br

É possível, você deve procurar métodos que façam isso. De qualquer forma essas informações se localizam normalmente na tabela de sistema chamada syscomments.

[]s

Dennes
Nome : Antonio E-Mail : antonio@alumni.org.br
essa materia é bem legal
Nome : Garcia E-Mail : ybr1100@hotmail.com
Estou precisando de ajuda. Fiz um codigo vb e sqldmo, mas ele só roda em maquinas que tem sql server instalado.

Levei a dll sqldmo.dll mas não consigo nem registrar a dll, acontece uma erro.

Você poderia me ajudar?

Garcia
Nome : Benedito Santana E-Mail : bene@igc.com.br
Caro Dennes Torres

Li sua matéria sobre SQL-DMO no site da Bufalo, gostaria de saber se você pode me explicar ou exemplificar, como crio um novo banco de dados, e crio tabelas em um bando de dados usamdo SQL-DMO e o VB.NET.

Obrigado
Bene
Nome : Robson Thomaz Castelli E-Mail : robson.castelli@marcacia.com.br
Olá amigos, onde posso baixar o arquivo para que a Referencia apareça na minha Lista de References do VB6.0???
Pq na minha lista não aparece essa refencia "Microsoft SQLDMO Object Library"...
então não posso testar o codigo que vcs colocaram no artigo

Obrigado...
Nome : heverton E-Mail : heverton_melo_94@hotmail.com
como se faz e-mail e como se usa.....


mandem essa resposta hoje ainda urgente.Logo
Nome : Jéssica E-Mail : jeca_rosa@yahoo.com
Oi Boa Noite!Eu gostaria de saber como se faz um e-mail.
Nome : JESSICA E-Mail : jeca_rosa@yahoo.com
O que eu escrevi é para você me responder de verdade porfavor eu preciso desta dica.
Nome : JESSICA E-Mail : jeca_rosa@yahoo.com
eu não sei,eu quero saber como se faz um tecado
Nome : PAULO E-Mail : palo1@hotmail.com
quem quiser fala cum eu so é coloca o meu nome e o meu email, eu quero fola que eu so burro, durmo 400h porrr anos mi nonbre esia**
Nome : kemili E-Mail : kemili .dd brasil
quero saber como se faz um e-mail
Nome : bruna E-Mail : bruninha_agata_@hotmail.com
bom eu não tenho muito a dizer
mais eu quero saber quando eu for enviar um comentario

ex;igual esse como eu faço para mandar emoticom.






obrigado
Nome : bruna E-Mail : bruninha_agata_@hotmail.com
a tanbem quero saber como faz um e-mail
onde se acha a pagina para fazer o e-mail..


bigado
Nome : kelly E-Mail : isisqueleahotmail.com
oi queria seber como criar um novo email
Nome : ALEX E-Mail :
COMO SE FAIS UM E-MAIL
Nome : alica daiaine oliveira de freitas E-Mail : li02@hotmail.com
muito bom
Nome : ediane E-Mail : edianeps83@ig.com.br
oi eu gostaria de saber como faz um e-mail
Nome : kikinha E-Mail : morangoassasssino@hotmail.com
eu kria saber como se faz um mail
Nome : ca E-Mail :
nao gostei
Nome : michele E-Mail : dan_gavioes.com.br
Oi gugu tudu bom com vc ???

meu nome é michele tenhu 11 anos , e minha irmã queria muito arrumasse nosso quato ..

O nome dela é karol ,nos queriamos que voce enfeitçe nosso quarto com decoraçoes da barbi..

se vc poder é claro por favor muito obrigado !!!!

nos gostamos muito do seu programa ok, nos assistimos todos os domingus seu progtama ....

SP,Itaquaquecetuba.

jardim maragogipe


rua panorama 2,400

fone 94556667

Nome : maricy E-Mail : maricy@hotmail.com.br
como se faz um email.
Nome : maria cristiane E-Mail : maria cristiane @hotmail.com
como se faz um email
Nome : erika aparecida E-Mail : erika_kae16@yahoo.com.br
adorei......
Nome : E-Mail : Graziela_love_2007@yahoo.com.br
Como se faz um email??

BjãO
Nome : halana cristina costa E-Mail : halana_costa@hotmail.com
queria saber oque e computador
Nome : E-Mail : NAO TENHO
Nome : suelen E-Mail :
que porcaria eu peço uma coisa e me aparece outra nâo foi isso que eu pedi né,fiquei muito chadiada com isso nâo fou mais entra neste site pois nâo achei nada engrasado nâosou palhaçade ninguem mas que coisa sem graça nâo tenho nem o que dizer pra vocês.tudoo que eu falei foi brincadeira este site è muito legal e muito importante pra quem precisa e pra quem trabalha em todos os paises
Nome : suelen E-Mail :
que porcaria eu peço uma coisa e me aparece outra nâo foi isso que eu pedi né,fiquei muito chadiada com isso nâo fou mais entra neste site pois nâo achei nada engrasado nâosou palhaçade ninguem mas que coisa sem graça nâo tenho nem o que dizer pra vocês.tudoo que eu falei foi brincadeira este site è muito legal e muito importante pra quem precisa e pra quem trabalha em todos os paises
Nome : suelen E-Mail :
que porcaria eu peço uma coisa e me aparece outra nâo foi isso que eu pedi né,fiquei muito chadiada com isso nâo fou mais entra neste site pois nâo achei nada engrasado nâosou palhaçade ninguem mas que coisa sem graça nâo tenho nem o que dizer pra vocês.tudoo que eu falei foi brincadeira este site è muito legal e muito importante pra quem precisa e pra quem trabalha em todos os paises
Nome : suelen E-Mail :
que porcaria eu peço uma coisa e me aparece outra nâo foi isso que eu pedi né,fiquei muito chadiada com isso nâo fou mais entra neste site pois nâo achei nada engrasado nâosou palhaçade ninguem mas que coisa sem graça nâo tenho nem o que dizer pra vocês.tudoo que eu falei foi brincadeira este site è muito legal e muito importante pra quem precisa e pra quem trabalha em todos os paises
Nome : suelen E-Mail :
que porcaria eu peço uma coisa e me aparece outra nâo foi isso que eu pedi né,fiquei muito chadiada com isso nâo fou mais entra neste site pois nâo achei nada engrasado nâosou palhaçade ninguem mas que coisa sem graça nâo tenho nem o que dizer pra vocês.tudoo que eu falei foi brincadeira este site è muito legal e muito importante pra quem precisa e pra quem trabalha em todos os paises
Nome : E-Mail :
quero fasermeu mail bell maceio al
Nome : Pedro E-Mail : phbsandrade@gmail.com
Eu tenho uma pequena aplicação em vb6 e ao conectar é reportado o seguinte erro
"To connect to this server you must use SQL server Management or SQL Server Management Objects (SMO)"
A string de conexão é esta:
"objServer.Connect strServer(intNumbanco), strLogin(intNumbanco), strSenha(intNumbanco)"
Os parâmetros são passados corretamente.

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Conheça mais sobre o nosso site :

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



Quer saber mais?
Faça um curso na Búfalo Informática, Treinamento e Consultoria e
Prepare-se para o Mercado!
Veja o que a Búfalo tem para você.

ļæ½ BĆŗfalo InformĆ”tica, Treinamento e Consultoria - Rua Ɓlvaro Alvim, 37 Sala 920 - CinelĆ¢ndia - Rio de Janeiro / RJ
Tel.: (21)2262-1368 (21) 9240-5134 (21) 9240-7281 e-Mail:
contato@bufaloinfo.com.br