Como creo un DNS

Gloria_Zorrilla
04 de Junio del 2004
Hola ojala puedan ayudarme...

Lo que necesito saber es como puedo crear desde visual basic un dns de usuario, yo lo cree para access pero no se como hacerlo con sql por la cuestion del usuario y la contraseña...

....Gracias...

kaliman
04 de Junio del 2004
Private Const ODBC_ADD_DSN = 1 ' Add data source
Private Const ODBC_CONFIG_DSN = 2 ' Configure (edit) data source
Private Const ODBC_REMOVE_DSN = 3 ' Remove data Source
Private Const ODBC_ADD_SYS_DSN = 4 '// add a systemDSN
Private Const ODBC_CONFIG_SYS_DSN = 5 '// Configure a System DSN
Private Const ODBC_REMOVE_SYS_DSN = 6 '// remove a System DSN
Private Const ODBC_REMOVE_DEFAULT_DSN = 7 '// remove the Default DSN


Public Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" (ByVal hwndParent As Long, ByVal fRequest As Long, ByVal lpszDriver As String, ByVal lpszAttributes As String) As Long

Public Sub CreateDSN()
On Error GoTo ERROR_TRAP
'----------------------------------------------
'Destroys existing DSN then recreates it using
'the new values specified by the user.
'----------------------------------------------
Dim sDSN As String
Dim sDatabase As String
Dim sDescription As String
Dim sDriverPath As String
Dim sDriverName As String
Dim sLastUser As String
Dim sRegional As String
Dim sServer As String
Dim sPassword As String
Dim sResourceString As String

Dim lRet As Long
Dim lRegHandle As Long


'-----------------specify DSN settings------------------
'If you want to change these settings, change them here
'the rest of the code uses these values
sDSN = "myDns"
sDatabase = "myDatabase"
sDescription = "Descripcion del DNS"
sDriverPath = ""
sLastUser = ""
sServer = "MYSERVER"
sPassword = ""
sDriverName = "SQL Server"
'-------------------------------------------------------


'destroy existing DSN
lRet = SQLConfigDataSource(&O0, ODBC_REMOVE_SYS_DSN, sDriverName, "DSN=" & Trim(sDSN) & Chr$(0))

'build the resource string
sResourceString = "SERVER=" & sServer & Chr$(0)
sResourceString = sResourceString & "DSN=" & sDSN & Chr$(0)
sResourceString = sResourceString & "Description=" & sDescription & Chr$(0)
sResourceString = sResourceString & "DATABASE=" & sDatabase & Chr$(0)
sResourceString = sResourceString & "Trusted_Connection=No" & Chr$(0)
' sResourceString = sResourceString & "Id=" & sLastUser & Chr$(0)
' sResourceString = sResourceString & "Password=" & sPassword & Chr$(0)

'create the new DSN
lRet = SQLConfigDataSource(0&, ODBC_ADD_SYS_DSN, sDriverName, sResourceString)

'check return value for success
If lRet Then
'do nothing
Else
MsgBox "Error creado el DSN.", vbOKOnly, "ODBC Error"
End If

ERROR_TRAP:

End Sub



Hola Este Ejemplo.. Creo el DNS para Sql Server.
en este caso yo no asigno el Usuario y Password..
si tu lo necesitas asignar solo quitale el comentario de la parte de la asignacion del mismo. para que asignes los datos que necesites..

Nota. Algunas veces por ejemplo pasa que en la ayuda se dice que el nombre del parametro por asignar del Usuario es el "Id=" o "UserId=", lo mejor es realizar una conexion, y ver el ConexionString, para ver realmente cual es el nombre correcto del parametro a enviar.. y lo mismo puede pasar con el Password