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