Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
183
Assunto : Visual Basic
Titulo: Como criar um DSN do ODBC

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Vamos partir do princípio que o seu servidor é SQL Server.
Exemplo de 16 e 32 Bits:

1) Inicie um novo projecto e coloque no form dois commandbuttons.

2) na Secção de declarações gerais do form:
Option Explicit
Private Const ODBC_ADD_DSN = 1
Private Const ODBC_CONFIG_DSN = 2 Private Const ODBC_REMOVE_DSN = 3 Private Const vbAPINull As Long = 0&

#If WIN32 Then
Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" _
(ByVal hwndParent As Long, ByVal fRequest As Long, _
ByVal lpszDriver As String, ByVal lpszAttributes As String) _
As Long
#Else
Private Declare Function SQLConfigDataSource Lib "ODBCINST.DLL" _
(ByVal hwndParent As Integer, ByVal fRequest As Integer, ByVal _
lpszDriver As String, ByVal lpszAttributes As String) As Integer
#End If

Com isso declaramos a função que irá fazer a criação do DSN.

2) No evento click do command1:
#If WIN32 Then
Dim intRet As Long
#Else
Dim intRet As Integer
#End If
Dim strDriver As String
Dim strAttributes As String

strDriver = "SQL Server"
strAttributes = "SERVER=SomeServer" & Chr$(0)
strAttributes = strAttributes & "DESCRIPTION=Temp DSN" & Chr$(0)
strAttributes = strAttributes & "DSN=DSN_TEMP" & Chr$(0)
strAttributes = strAttributes & "DATABASE=pubs" & Chr$(0)
strAttributes = strAttributes & "UID=sa" & Chr$(0)
strAttributes = strAttributes & "PWD=" & Chr$(0)
intRet = SQLConfigDataSource(vbAPINull, ODBC_ADD_DSN, _
strDriver, strAttributes)
If intRet Then
MsgBox "DSN Criado"
Else
MsgBox "Falhou a criação do DSN"
End If

Os atributos são concatenados em uma grande string que é transmitida para a função. Indica-se a operação que será feita (ODBC_ADD_DSN), o driver usado e os atributos.

3) No evento click do command2:

#If WIN32 Then
Dim intRet As Long
#Else
Dim intRet As Integer
#End If
Dim strDriver As String
Dim strAttributes As String

strDriver = "SQL Server"
strAttributes = "DSN=DSN_TEMP" & Chr$(0)
intRet = SQLConfigDataSource(vbAPINull, ODBC_REMOVE_DSN, _
strDriver, strAttributes)
If intRet Then
MsgBox "DSN Eliminado"
Else
MsgBox "DSN não foi eliminado!"
End If

Observe que a operação mudou, agora é ODBC_REMOVE_DSN, para a eliminação do DSN

4) Rode o projecto.

5) Click no Command1 para criar uma DSN chamada DSN_TEMP.

6) Click no Command2 para eliminar a DSN chamada DSN_TEMP.

Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 1/31/2017 10:55:00 AM
nome: avuoWkJlWOUNpYq
email: derby451@hotmail.com
comentário:
dJiUI8 http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 8:12:00 AM
nome: uvNZGLArkKAxzWdJlUN
email: jogcbfn@hotmail.com
comentário:
cdh5a1 http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 8:06:00 AM
nome: lAlJVDilBnL
email: derby451@hotmail.com
comentário:
uQLSO2 http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 12/27/2016 3:22:00 PM
nome: ovCGzUuAazt
email: jfvynms4281rt@hotmail.com
comentário:
5TwVvq http://www.FyLitCl7Pf7ojQdDUOLQOuaxTXbj5iNG.com

data: 2/7/2008 3:03:00 PM
nome:
email:
comentário:
Quando o usuário e senha são informados o DSN não é criado, para o exemplo acima funcionar tenho que deixar os atributos sem o usuário e senha.
Por que isso acontece? Alguma questão de segurança?


 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br