Podría ser que la DSN
esté mal definida, pero yo la veo bien.
Por otra parte, si te conectas con ODBC, ¿tienes definida una fuente de datos en el Panel de control de ODBC? Sin esto, no te funcionará. Bueno, sí que se puede, pero depende de la versión de MSSQL que vayas a usar (con las últimas versiones, no).
En la página de Easysoft
hay manuales con ejemplos y guías de cómo hacerlo.
Si estás usando ActivePerl, deberías consultar sus foros, donde hay
más ejemplos. Ahí, por ejemplo, se resolvió simplemente cambiando la '\' por un '\\', en el DSN (último mensaje de la página). Si ese es el caso, cambia "localhost\SQLEXPRESS" por "localhost\\SQLEXPRESS".