Que tal,
Tengo que crear dos DSN para una aplicacion externa, el problema es
que no he logrado hacerlo... he estado toda la mañana leyendo y
revisando pero no logro nada...
Lo hago de la siguiente manera:
En una clase defino estas constantes
private const string ODBC_INI_DSN_KEY_NAME = "DSN=";
private const string ODBC_INI_FILE_PREFIX_NAME = "\0File Prefix=";
private const string ODBC_INI_UID_NAME = "\0Uid=";
private const string ODBC_INI_PWD_NAME = "\0pwd=";
private const string ODBC_INI_DBQ_NAME = "\0DBQ=";
private const string ODBC_INI_ACUODBC_DRIVER = "AcuODBC Driver"; //The
Default Driver
private const string ODBC_INI_READONLY = "\0Read Only=";
private const string ODBC_INI_SERVER = "\0SERVER=";
private const string ODBC_INI_DNS_DESC ="\0DESCRIPTION=";
luego en un metodo le paso los parametros a utilizar
return SQLConfigDataSource((IntPtr)0, 4, OdbcDriverName,
ODBC_INI_DSN_KEY_NAME + DSName +
ODBC_INI_DNS_DESC + DSNDesc +
ODBC_INI_SERVER + DSNServ +
ODBC_INI_UID_NAME + DBUser +
ODBC_INI_PWD_NAME + DBPass +
ODBC_INI_DBQ_NAME + DBName +
ODBC_INI_READONLY + "FALSE" + "\0");
esto siempre me devuelve false...
al importar del API lo hago asi
[DllImport("ODBCCP32.dll")]
private static extern bool SQLConfigDataSource(IntPtr parent, int
request, string driver, string attributes);
Es indispensable que le pase un servidor, el nombre de usuario y
contraseña ya que estos DSN apuntaran a distintos servidores...
Alguna idea de como hacer que funcione?
O alguna idea de como hacer traza de esto para saber en que falla?
Les agradecere cualquier ayuda que me permita terminar esto.
Saludos!
PD: tiene que ser DSN ya que la aplicacion externa esta desarrollada
en 4D y solo se puede conectar a SQL por DSN.
Leer las respuestas