Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Este artigo demonstra como criar programaticamente um nome de fonte de dados (DSN) para o SQL Server usando o Visual Basic. A técnica discutida neste artigo utiliza funções da Application Programming Interface (API) do Windows para criar e manipular entradas no registro do Windows.
DSNs são normalmente criados através da janela ODBC Data Source Administrator, que é acessível a partir do painel de controle do Windows (ou ferramentas de administrador no Windows 2000). Outras técnicas que fornecem acesso a bancos de dados compatível com ODBC incluem usando RegisterDatabase (um método Data Access Object (DAO)), usando a função de API de ODBC SQLConfigDataSource ou usando uma seqüência de conexão sem DSN.
No entanto, é possível estabelecer um DSN novo criando manualmente e manipulação de valores no registro do Windows. A técnica a seguir usa as funções RegCreateKey, RegSetValueEx e RegCloseKey API para criar um DSN de sistema para um banco de dados SQL Server.
Abra um novo projeto Visual Basic. O Form1 é criado por padrão. Coloque um CommandButton no Form1 (Command1) e coloque o código a seguir na seção Declaração geral do código de Form1:
Option Explicit
Private Const REG_SZ = 1 'Constant for a string variable type.
Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias _
"RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, _
phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias _
"RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, _
ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal _
cbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" _
(ByVal hKey As Long) As Long
Coloque o seguinte código no evento click do botão Command1 no Form1:
Altere os valores das variáveis DataSourceName, DatabaseName, Description, DriverPath, LastUser e Server conforme apropriado para seu ambiente. Qualquer um dos drivers listados na guia drivers ODBC da janela ODBC Data Source Administrator pode ser usado como parte da variável DriverPath. Todos esses drivers podem ser encontrados em máquinas C:\Windows\System para Windows 95 ou Windows 98 e C:\Winnt\System32 para Windows NT.
Private Sub Command1_Click()
Dim DataSourceName As String
Dim DatabaseName As String
Dim Description As String
Dim DriverPath As String
Dim DriverName As String
Dim LastUser As String
Dim Regional As String
Dim Server As String
Dim lResult As Long
Dim hKeyHandle As Long
'Specify the DSN parameters.
DataSourceName = "<the name of your new DSN>"
DatabaseName = "<name of the database to be accessed by the new DSN>"
Description = "<a description of the new DSN>"
DriverPath = "<path to your SQL Server driver>"
LastUser = "<default user ID of the new DSN>"
Server = "<name of the server to be accessed by the new DSN>"
DriverName = "SQL Server"
'Create the new DSN key.
lResult = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\ODBC\ODBC.INI\" & _
DataSourceName, hKeyHandle)
'Set the values of the new DSN key.
lResult = RegSetValueEx(hKeyHandle, "Database", 0&, REG_SZ, _
ByVal DatabaseName, Len(DatabaseName))
lResult = RegSetValueEx(hKeyHandle, "Description", 0&, REG_SZ, _
ByVal Description, Len(Description))
lResult = RegSetValueEx(hKeyHandle, "Driver", 0&, REG_SZ, _
ByVal DriverPath, Len(DriverPath))
lResult = RegSetValueEx(hKeyHandle, "LastUser", 0&, REG_SZ, _
ByVal LastUser, Len(LastUser))
lResult = RegSetValueEx(hKeyHandle, "Server", 0&, REG_SZ, _
ByVal Server, Len(Server))
'Close the new DSN key.
lResult = RegCloseKey(hKeyHandle)
'Open ODBC Data Sources key to list the new DSN in the ODBC Manager.
'Specify the new value.
'Close the key.
lResult = RegCreateKey(HKEY_LOCAL_MACHINE, _
"SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources", hKeyHandle)
lResult = RegSetValueEx(hKeyHandle, DataSourceName, 0&, REG_SZ, _
ByVal DriverName, Len(DriverName))
lResult = RegCloseKey(hKeyHandle)
End Sub
Execute o projeto e clique no botão de comando Command1. Em seguida, abra o administrador de fonte de dados ODBC do painel de controle (ou ferramentas de administrador no Windows 2000). O novo DSN aparecerá junto com os outros DSNs do sistema que você já criou.
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 184608
(http://support.microsoft.com/kb/184608/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
Diga-nos o porque e o que podemos fazer para melhorar esta informação
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.