¿Cómo utilizar la programación Delphi para darse cuenta de que el cliente no necesita instalar Oracle?
El proceso específico es el siguiente: (solo como referencia)
1 Archivo de configuración de red del cliente Oracle
Una vez completada la instalación del producto Oracle, en orden. para conectarse a la base de datos, debe configurar la conexión de red. Al configurar el alias de la base de datos de Oracle en SQL NetEasy Configuration, Oracle no escribe la información del alias de la base de datos en el registro, sino en el archivo de texto Oracle_homes
\. network\ El formato del archivo .tnsname.ora en admin\tnsnames.ora es el siguiente:
example.world=(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCT )
Host=192.168.1.2)(Puerto=****)))
(CONNECT_DATA=(SID=TEMP)))
Entre ellos , 192.168.1.2 es Oracle La dirección IP del servidor, TEMP es el nombre de la instancia de la base de datos de Oracle y Ejemplo es el nombre de la cadena de conexión de red. El contenido de este archivo debe cambiarse en consecuencia de acuerdo con el entorno real de Oracle Cuando la aplicación Delphi.
se está ejecutando, es necesario leer tsnames. La información de configuración de la base de datos de dos archivos ora y sqlnet.ora (en el directorio Oracle_homes\network\admin
). se han convertido en archivos de configuración esenciales del sistema.
2. Bibliotecas de enlaces dinámicos y otros archivos requeridos por la aplicación
(1)Directorio Oracle_himes\bin
OCI.DLL
CORE40.DLL
OTRACE80.DLL
ORA805.DLL
NTT80.DLL
NLSTRL33.DLL
NL80.DLL
NS80.DLL
NASNS80.DLL
NASNS80.DLL
NASNS80.DLL
NASNS80.DLLNNG80.DLL
NNG80.DLL
NMP80.DLL
NPL80.DLL
NR80 .DLL
NCR80.DLL
NDWSI80.DLL
NMS80.DLL
NNFN80.DLL
NNFD80 .DLL
NI80.DLL
PLS805.DLL
(2)Oracle_homes\nlsrtl32\directorio de datos
LX00001.NLB p>
LX00023.NLB
LX10001.NLB
LX10035.NLB
LX1BOOT.NLB
LX20001.NLB p>
LX20352.NLB
LX20354.NLB
LX60354.NLB
3. Configuración del directorio
Crear un nuevo directorio. como oran, y coloque la aplicación en este directorio. Cambie los nombres tns .ora y sqlnet.ora en el directorio
ora\NET80\ADMIN. Coloque los archivos en (1) en el directorio oran\BIN. directorio y coloque los archivos en (2)
El archivo se coloca en el directorio
oran\BNLSRTL33.
4. Implementación del programa
Después de configurar los archivos y directorios, debe ingresar a la base de datos Oracle. información relacionada en el registro. Escriba el código en el evento Crear del formulario principal de la aplicación Delhpi de la siguiente manera:
PRCEDURE TF_MAIN.FORMCREAT(SENDER: TOBJECT);
VAR
reg: tregistry; //Declarar variables de clase de registro
begin
reg:=tregistry.Create; //Crear variables
intentar
reg.RootKey:=HKEY_LOCALMACHINE;//Determine si el elemento de registro ORACLE ya existe en el registro
IF (red.OpenKey('\SOFTWARE\ORACLE', FALSE)) =false entonces
Comenzar//Si la clave de registro de ORACLE no existe, créela
reg.CreateKey('\SOFTWARE\ORACLE');
reg.OpenKey('\SOFTWARE\ORACLE', true); //Especifica el idioma utilizado
reg.WriteString('NLS_LANG', 'SIMPLIFIED CHINESS_CHINA.ZHS16GBK');
//La función extractfiledir obtiene la ruta de la aplicación actual
//Especifique la ruta del directorio NLSRTL33
reg.WriteString(' NLSRTL33', extractfiledir(PARAMSTR(0))
'\oran\DATA');
//Especificar la ruta del directorio inicial de Oracle
reg.WriteString('ORACLE_HOME', extractfiledir(PARAMSTR(0)) '\oran ');
reg.WriteString( 'ORACLE_HOME_NAME', 'DEFAULT_HOME')
end
else//Si hay una clave de registro de Oracle
comenzar
reg.OpenKey( '\SOFTWARE\ORACLE', true);
si reg.valueexists('NLSTRL33')=false entonces
//Determinar si el elemento de registro NLSRTL33 existe
comenzar//Crear información relevante si no existe
reg.WriteString('NLS_LANG', 'SIMPLIFIEDCHINESE_CHINA.ZHS16GBK') ;
reg.WriteString(' NLSRTL33', extractfiledir( PARAMSTR(0))
'oran\NLSRTL33\DATA');
reg.WriteString( 'ORACLE_HOME_NAME', 'DEFAULT_HOME');
fin
fin
finalmente//Liberar recursos
reg.CloseKey;
reg.Free;
end;
end
La información escrita en el registro se produce en el archivo principal. Cuando se produce el evento Crear del formulario, cada vez que se ejecuta la aplicación, primero verifique si hay información de registro de Oracle en el registro. De lo contrario, registre la información relevante. De esta manera, no es necesario reinstalar la aplicación cuando el sistema operativo esté dañado. y reinstalado.