Attach a database file, located in the data directory, on connect to a local SQL Server Express instance using SQLNCLI10 OLEDB

Connection string

This SQL Server Native Client 10.0 OLE DB Provider connection string can be used for connections to SQL Server 2008 and SQL Server 2005.

Provider=SQLNCLI10;Server=.\SQLExpress;
AttachDbFilename
=|DataDirectory|mydbfile.mdf;
Database=dbname;
Trusted_Connection
=Yes;

Why is the Database parameter needed? If the named database have already been attached, SQL Server does not reattach it. It uses the attached database as the default for the connection.