Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo utilizar la programación Delphi para darse cuenta de que el cliente no necesita instalar Oracle?

¿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

LX00023.NLB

LX10001.NLB

LX10035.NLB

LX1BOOT.NLB

LX20001.NLB

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.