Claro que es necesario
Lo que estás haciendo es conectar con una base de datos que no está en el servidor, sino en otro lugar del disco. El odbc es una especie de 'link' a esa base de datos. Si no lo haces mediante el odbc, desde el server no puede accederse porque queda fuera de su 'radio de acción'.
Lo que tienes que hacer es configurar el odbc y usar esos datos en la conexión.
strConnect= " Driver={MySQL};
SERVER=localhost;
DATABASE=C:\mysql\data\Prueba1;eDatos;
UID=nombreUsuario;
PASSWORD=password"
1. En el odbc te vas a dns de sistema y agragas una.
2. windows dns name: el nombre que quieras darle al dns.
3. ... host (name or ip): pues eso, el host o el ip. Localhost en tu caso está ok.
4. mysql database name: el nombre de la base de datos que tienes en \data y que quieres atacar.
5. user y contraseña. pues un usuario y contraseña.
Como estoy probando con el tema de permisos de mysql y mientras voy programando también, le tengo puesto en la conexión los datos del mandamás.
ejemplo:
2. miprimerdns
3. localhost
4. prueba1
5. tu login y pwd en mysql.
conexión:
strConnect= " Driver={MySQL};
SERVER=localhost;
DATABASE=prueba1;
UID=login;
PASSWORD=pwd"
No es necesario que le des el path completo de la bd, eso ya viene configurado.