If I want to use a database do I need to use a DSN? (Windows)
No, you do not need a DSN unless your application specifically requires a DSN. In fact, for most situations we recommend you use a using a connection string instead of the DSN to specify your database. With the "DSN-less" connection you can improve performance by specifying the native OLE DB provider when one exists, instead of using the default "OLE DB Provider for ODBC".