Read and write File ODBC data sources

Read and write File ODBC data sources

A file DSN is nothing but a text file that contains all the parameters for an ODBC connection. To prove this, just go to the default directory that holds all File DSNs (this is the Program FilesCommon FilesODBCData Sources directory on Windows’s boot drive) and load any .dsn file into a text editor such as Notepad. For example, this is the typical contents of such a file:

[ODBC]DRIVER=SQL ServerUID=saDATABASE=pubsWSID=P2APP=Visual BasicSERVER=(local)Description=Pubs in local SQL Server

That said, it’s pretty easy to manually write a Visual Basic procedure that creates a File DSN. For example, the following routine creates a connection to any database on the local SQL Server, using the provided username and password:

' create a File DSN that points to a SQL Server database'' if ServerName is omitted, it connects to the local SQL ServerSub CreateSQLServerDSN(ByVal DSNFile As String, ByVal DatabaseName As String, _    ByVal UserName As String, ByVal Password As String, _    Optional ByVal ServerName As String, Optional ByVal Description As String)    Dim fnum As Integer    Dim isOpen As Boolean        On Error GoTo ErrorHandler        fnum = FreeFile    Open DSNFile For Output As #fnum    isOpen = True        Print #fnum, "[ODBC]"    Print #fnum, "DRIVER=SQL Server"    Print #fnum, "UID=" & UserName    Print #fnum, "DATABASE=" & DatabaseName    Print #fnum, "SERVER=" & IIf(ServerName = "", "(local)", ServerName)    If Not IsMissing(Description) Then        Print #fnum, "DESCRIPTION=" & Description    End If        Close #fnum    Exit Sub    ErrorHandler:    If isOpen Then Close #fnum    Err.Raise Err.Number, , Err.DescriptionEnd Sub


Share the Post: