I have not had much use for UDL (Universal Data Link) files in the past, but recently I found out just how useful they can be. Today I encountered an issue with Crystal Reports 9 calling SQL Server with a blank password when the connection was set within Crystal Reports. After much research and testing I found that the only way to correct this was to force Crystal Reports to use a UDL file to obtain its connection information.
For anyone not sure exactly what a UDL file is, it is basically a file that one can create and use to centralize database connection information. So it functions along the lines of an ODBC data source, or a little like an old .ini file… or for the web, like a web.config file. The only difference being that like an ODBC datasource, Windows will present a forms like view of the connection information in the UDL file when it is opened.
In general, creating and managing a UDL file is quite similar to setting up a standard System ODBC connection, except that the UDL file can be copied and pasted like a standard text file. Further, the UDL file allows you to select from a number of OLE DB data providers in order to connect to a variety of potential data sources.
This modularity is nice since you can ZIP the UDL file up along with the program that needs to reference it, and of course centralizing the connection management is very useful when maintaining a large number of reports.