Discard "ODBC;" from the connection string. (I think supplying a DSN value already establishes that you want an ODBC connection.)
This example fails at cn.Open
on my system with the same error message you reported ...
ConnectionString = "ODBC;DSN=sqlserver_local;Trusted_Connection=Yes;DATABASE=testbed"
But discarding "ODBC;" allowed cn.Open
to succeed ...
ConnectionString = "DSN=sqlserver_local;Trusted_Connection=Yes;DATABASE=testbed"