Hace algún tiempo, durante el proceso del proyecto, encontramos problemas relacionados con las fuentes de datos cuando necesitábamos cargar datos dinámicamente desde diferentes bases de datos. Por supuesto, tablas DBF que no se pueden conectar con ADOQUERY (antes de descargar la versión del parche, luego descubrimos que sí). también se puede conectar) debe construirse con ODBC Para realizar el procesamiento de conexión, ODBC debe establecerse dinámicamente para eliminar la posibilidad de que los usuarios eliminen ODBC. A continuación escribiré el prototipo de la función API y las declaraciones para crear tablas SQLSERVER y DBF para compartir. (Por supuesto, no es necesario crear SQLSERVER en estado ADO).
SQLConfigDataSource(hwndParent: Entero; fRequest: Entero; lpszDriverString: Cadena; lpszAttributes: Cadena): Entero;
Uso en estado de llamada:
función SQLConfigDataSource(hwndParent: Entero; fRequest: Entero;lpszDriverString: Cadena; lpszAttributes: Cadena): Entero;stdcall;externo 'ODBCCP32.DLL';
Establecer SQLSERVER ODBC:
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,'SQL Server','DSN=Record_ODBC'+ chr(0) +'Servidor=(local)'+ chr(0) +'Base de datos=master'+ chr(0) +'Descripción=DragonPC Fuente ODBC de SQLServer'+ chr(0));
{DSN: el nombre de su fuente de datos ODBC.
Servidor: El nombre de su servidor de base de datos. Utilice (local) para referirse a la base de datos instalada en su computadora local. Nota: La última versión de SQL Server 2000 admite una computadora que ejecuta múltiples servicios de SQL Server. En este momento, debe especificar el nombre de instancia de SqlSever.
Dirección: especifique la dirección IP de red del servidor SQL Server.
Base de datos: especifique el nombre de la base de datos predeterminada.
Idioma: especifique el idioma predeterminado.
Descripción: Información de comentarios. }
Crear tabla DBF ODBC:
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, 'Microsoft Visual FoxPRo Driver' + CHR(0), 'dsn=SourceTable' + CHR(0) + 'BackgroundFetch=Yes' + CHR(0) + 'Descripción=descripción de la conexión' + CHR (0) + 'Exclusivo=No' + CHR(0) +sourcedbstr + CHR(0) +'Tipo de fuente=DBF');
Todo lo demás es igual, excepto que tomó mucho tiempo crear y depurar la tabla DBF. Espero que no pierda el tiempo escribiéndola.
Nota: El contenido anterior es sólo para referencia de principiantes que encuentren problemas similares.