FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Generar codigo odbc.
hola. disculpen las molestias. tengo una duda sobre. el codigo que tengo que poner para generar el acceso odbc.
bueno. mi problema es el siguiente: tengo un programa con una base de datos en mysql. (supongamos que se llama escuela). bueno voy a panel de control (trabajo sobre windows). voy al administrador de origenes odbc y creo el alias. EL programa anda barbaro. bueno ahora deseo hacer los instaladores. y estoy trabajando con el install shield. bueno lei por ahi que tengo que agregar un codigo adicional al programa para que cuando ejecute el programa en otra maquina se cree automaticamente el alias. y no se cual es. si alguien entiende mi duda y me puede ayudar. desde ya muchas gracias. |
#2
|
|||
|
|||
el archivo dsn, es un vil archivo ini con parametros como el driver y otros, asi que del que creaste puedes verlo y crear un archivo ini para posteriormente guardarlo en la ruta que te marca el registro de windows, la cual es:
HKLM\Software\odbc\odbc.ini\odbc file dsn DefaultDsnDir esta es la forma facil, hay un componente llamado "DSN Alias" que sirve para crear alias dsn para archivos de access, no creo que este complicado adaptarlo a mysql sobretodo porque incluye codigo fuente |
#3
|
|||
|
|||
por cierto la pagina del componente
|
#4
|
||||
|
||||
La solución que encontre
he luis muy buena la idea de trabajar con los dsn. mira dando vuelta por internet encontre este codigo que te genera el dsn de usuario:
Código:
bool TForm1::CreateODBCAlias(String sAlias, String sDB, String sDir, String sDescription,String sUsuario,String sPWD) { //bool ret; //ret = CreateODBCAlias("MiAlias", //"base de datos en mysql", //"C:\directorio\datos\", //"Esto es una prueba"; // Devuelve true si se crea correctamente //ShowMessage(ret ? "Creado" : "Error" typedef BOOL (__stdcall *pSQLConfigDataSource)(HWND, WORD, LPCSTR, LPCSTR); pSQLConfigDataSource SQLConfigDataSource; HINSTANCE hLib; bool bRet = false; hLib = LoadLibrary("odbccp32.dll"); if (hLib) { SQLConfigDataSource = (pSQLConfigDataSource) GetProcAddress(hLib, "SQLConfigDataSource"); if (SQLConfigDataSource) { char Param[1024]; sprintf(Param, "DSN=%s; Description=%s; DefaultDir=%s; DBQ=%s; UID=%s; PWD=%s\0",sAlias.c_str(),sDB.c_str(),sDescription.c_str(),sDir.c_str(),sUsuario.c_str(),sPWD.c_str()); bRet = SQLConfigDataSource(NULL, 1 /*ODBC_ADD_DSN*/,"MySQL ODBC 3.51 Driver",Param); //el 1 significa un dsn por usuario. } FreeLibrary(hLib); } // Devuelve true si se crea o false en caso contrario return bRet; } me toma bien el nombre del alias. la descripcion. la direccion de la base de datos. PERO no me toma el nombre de la base de datos ni los datos del usuario y su pass. me imagino que es porque los atributos que le mando estan mal. es decir en ves de DBQ debe ir una cosa algo asi como DataBase para que lo tome. si alguien sabe desde ya muchas gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ANN: AnyNET-Delphi: Herramienta para generar codigo fuente Delphi desde :NET | mamcx | Noticias | 7 | 21-05-2007 02:12:36 |
¿Cómo puedo hacer un ODBC por codigo Delphi? | Shidalis | Varios | 12 | 24-08-2005 22:44:49 |
conexion mediante ODBC a la base de datos mysql, por linea de codigo de delphi | sakuragi | Conexión con bases de datos | 21 | 15-03-2005 18:43:59 |
ODBC mediante codigo | sakuragi | Conexión con bases de datos | 2 | 04-12-2004 09:34:15 |
Alguien sabe como crear un alias en Fuentes de datos ODBC (32 bits) por codigo ? | edson | Conexión con bases de datos | 2 | 15-04-2004 15:57:26 |
|