Option Explicit
Dim strDSNName, strDriver, strServer, strLastUser, strRegional, strDatabase
strDSNName = "DSN NAME"
strDriver = "C:\WINDOWS\system32\SQLSRV32.dll"
strServer = "SERVER ADDRESS"
strLastUser = "USERNAME (PLACEHOLDER)"
strRegional = "Yes"
strDatabase = "DB NAME"
If MsgBox("ODBC configuration listed below is going to be added to current user." & vbcrlf & _
"Do you want to continue?" & vbcrlf & _
"DSN Name: " & strDSNName & vbcrlf & _
"Server: " & strServer & vbcrlf & _
"Database: " & strDatabase, vbInformation + vbYesNo, "Confirmation Required") = vbYes Then
Else
MsgBox "Operation cancelled by user.", vbExclamation, "Aborted"
Wscript.Quit
End If
const HKEY_CURRENT_USER = &H80000001
Dim strComputer, objReg, strKeyPath, strValueName, strValue
strComputer = "."
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources"
strValueName = strDSNName
strValue = "SQL Server"
objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue
strKeyPath = "SOFTWARE\ODBC\ODBC.INI\" & strDSNName
objReg.CreateKey HKEY_CURRENT_USER,strKeyPath
strKeyPath = "SOFTWARE\ODBC\ODBC.INI\" & strDSNName
strValueName = "Database"
strValue = strDatabase
objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue
strValueName = "Driver"
strValue = strDriver
objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue
strValueName = "Server"
strValue = strServer
objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue
strValueName = "Regional"
strValue = strRegional
objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue
strValueName = "LastUser"
strValue = strLastUser
objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue
Set objReg = Nothing
If (Err.Number = 0) Then
MsgBox "ODBC added successfully!" & vbcrlf & _
"Details are listed below:" & vbcrlf & _
"DSN Name: " & strDSNName & vbcrlf & _
"Server: " & strServer & vbcrlf & _
"Database: " & strDatabase, vbInformation, "Succeed"
Else
Wscript.Echo "Operation failed. Error = " & Err.Number
End If