PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Utilizar un string para el proveedor OLE DB
  • Si se produce un fallo, la descripción de la conexión no se almacena.
  • Se abren dos conexiones en el servidor
  • Validez de la conexión
  • Pseudo-conexión a la base de datos HFSQL Classic
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
gpwOpenConnection (Función)
 
ODBCHFSQLNo disponible con estos tipos de conexión
Abre una conexión a una base de datos Cliente/Servidor específica para gestionar los archivos del groupware de usuario en modo Cliente/Servidor.. La conexión permanece abierta hasta el final de la aplicación.
gpwOpenConnection se utiliza para definir y abrir una conexión para los archivos de datos del groupware de usuario. Para utilizar la misma conexión para todos los ficheros de datos de la aplicación, todo lo que tiene que hacer es utilizar HChangeConnection. A continuación, gpwOpen se utiliza para especificar la ubicación de los archivos de datos para la gestión de derechos, así como la ubicación de los archivos de datos para la identificación de los usuarios.
señalar: A partir de la versión 19, HFSQL es el nuevo nombre de HyperFileSQL.
Ejemplo
// Use the files of user groupware with a MySQL database
IF gpwOpenConnection("gpwCt", "Test", "PasswordMySQL", ...
"Apollon_server", "TEST", hNativeAccessMySQL) = False THEN
Error(ErrorInfo())
ELSE
// The files of user groupware
// are automatically created
// if the user has rights on MySQL.
nRes is int = gpwOpen()
// If the login failed
IF nRes <> gpwOk THEN
SWITCH nRes
CASE gpwError:
Error("Error at initialization.", ErrorInfo())
CASE gpwUnknownUser:
Error("Unknown user.")
CASE gpwInvalidPassword:
Error("Invalid password")
END
END
// Use the same connection for all data files
HChangeConnection("*", "gpwCt")
Trace(HNbRec(CEDEX))
END
// Change the password for the files of user groupware
// by programming
// Example with the GPWUSER file
gpwInitAnalysis()
GPWUSER is Data Source
CNT_GPWu_HFCS is Connection
sPasswordGPWu is string = "PCSGPW2001"

// Connection parameters
CNT_GPWu_HFCS..Provider = hAccessHFClientServer
CNT_GPWu_HFCS..User = "UserHFServer"
CNT_GPWu_HFCS..Password = "PasswordHFServer"
CNT_GPWu_HFCS..Server = "HFServer"
CNT_GPWu_HFCS..Database = "GPWu"
CNT_GPWu_HFCS..CryptMethod = hCryptNo

// Open the connection
gpwOpenConnection(CNT_GPWu_HFCS)
HChangeConnection(GPWUSER,CNT_GPWu_HFCS)
HPass(GPWUSER, sPasswordGPWu)
HCreationIfNotFound(GPWUSER)
HChangePassword(GPWUSER, "TEST")

CASE ERROR:
Error(HErrorInfo() + CR + ErrorInfo())
Sintaxis

Defining and opening a connection Ocultar los detalles

<Result> = gpwOpenConnection(<Connection name> , <User name> [, <Password>] , <Data source> [, <Database>] , <OLE DB provider or Native Access> [, <Access> [, <Extended information>]] , <Additional options>)
<Result>: Boolean
  • True si la operación fue realizada,
  • False si se produce un problema. HErrorInfo se utiliza para identificar el error.
La apertura efectiva de la conexión no se realiza mediante gpwOpenConnection. La función puede devolver True incluso si los valores pasados en el parámetro son incorrectos.
Se utiliza gpwOpen para especificar la ubicación de los archivos de datos para la gestión de derechos, así como la ubicación de los archivos de datos para la identificación de los usuarios.. Los directorios deben especificarse en relación con el directorio del servidor.
<Connection name>: Character string (with quotes)
Nombre de la nueva conexión a definir y abrir. Este nombre no debe ser utilizado ya por otra conexión (definida en el análisis, o definida por HOpenConnection oHDescribeConnection).
<User name>: Character string (with quotes)
Nombre del usuario que se conecta a la base de datos Cliente/Servidor. Este parámetro es devuelto por ..CtUserName.
<Password>: Optional character string (with quotes)
Contraseña definida para la conexión a la base de datos Cliente/Servidor (si existe esta contraseña). Si no se requiere contraseña, utilice una cadena vacía (""") o la palabra clave NULL.
<Data source>: Character string (with quotes)
Lleno ruta de fuentes de datos. La conexión se creará y se abrirá para esta fuente de datos.. Este parámetro es devuelto por ...CtDatabase.
<Database>: Optional character string (with quotes)
Nombre de la base de datos que se utilizará en la fuente de datos. Si este parámetro no es necesario, utilice una cadena vacía ("""). Este parámetro es devuelto por ...CtInitialCatalog.
<OLE DB provider or Native Access>: Character string or constant
  • Nombre del proveedor de OLE DB utilizado. Para recuperar fácilmente la cadena a utilizar, seleccione "Conexión" en el editor de modelos de datos (véanse las Notas)..

    or
  • una de las siguientes constantes:
    hAccessHF7Pseudo-conexión a una base de datos HFSQL Classic (monousuario o multiusuario)
    Servidor hAccessHFClientServerConexión a la base de datos HFSQL Client/Server
    hNativeAccessAS400Acceso nativo a AS/400 (módulo opcional)
    hNativeAccessDB2Acceso nativo DB2 (módulo opcional)
    hNativeAccessInformixAcceso nativo a Informix (módulo opcional)
    hNativeAccessMySQLAcceso MySQL nativo (módulo opcional)
    hNativeAccessOracleAcceso nativo a Oracle (módulo opcional)
    hNativeAccessPostgreSQLAcceso PostgreSQL nativo (módulo opcional)
    hNativeAccessProgressAcceso a Native Progress (módulo opcional)
    hNativeAccessServerAcceso nativo a SQL Server (módulo opcional)
    hNativeAccessSybaseAcceso nativo a Sybase (módulo opcional)
    hNativeAccessXBaseAcceso Nativo xBase
    HODBCProveedor de OLE DB para ODBC.
    Se utiliza para acceder a una fuente ODBC declarada en las fuentes de datos ODBC de Windows.
    hOledbAccess97Proveedor OLE DB para Access 97
    hOledbAccess2000Proveedor OLE DB para Access 2000
    base de datos de hOledbDBase5Proveedor OLE DB para dBase 5
    hOledbExcel2000Proveedor OLE DB para Excel 2000
    hOledbExcel97Proveedor OLE DB para Excel 97
    hOledbLotus4Proveedor OLE DB para Lotus 4
    hOledbOracleProveedor OLE DB para Oracle
    hOledbSQLServerProveedor OLE DB para SQL Server
OLE DB Atención: Para utilizar una conexión OLE DB, debe:
  • instalar MDAC versión 2.6 o posterior (instalación realizada por WINDEV o WEBDEV y al crear el programa de instalación)
  • instalar el proveedor OLE DB correspondiente a la base de datos utilizada.
    Este parámetro es devuelto por ..CtOLEDBProveedor.
<Access>: Optional constant
Configura el tipo de acceso a la base de datos.
hOREADWRITE
(valor por defecto)
Se puede acceder a la base de datos en lectura/escritura. Usted tiene la capacidad de leer los registros y escribir nuevos registros.
hOReadSe puede acceder a la base de datos en modo de sólo lectura. Sólo tiene la capacidad de leer los registros. No se puede añadir ni eliminar ningún registro.
Este parámetro es devuelto por ..CtAcceso.
<Extended information>: Optional character string (with quotes)
Información opcional insertada en la cadena para conectarse a la base de datos. Si se reconocen palabras clave específicas, la información correspondiente se extrae de la cadena de conexión. El resto de la cadena de conexión se envía a la base de datos. A continuación, los parámetros extraídos son procesados por el acceso nativo o por el acceso OLE DB utilizado..
Estas palabras clave deben indicarse de la siguiente manera: "<Palabra clave> = <Valor&gt".
Conectores Nativos Las palabras clave reconocidas por el acceso nativo a MySQL:
Puerto del servidorConsulte la documentación sobre MySQL (palabra clave = 'mysql_real_connect') para más detalles.
Enchufe Unix
Flag Cliente
OLE DB Las palabras clave reconocidas para el acceso por parte de un proveedor de bases de datos OLE:
Tiempo de espera de comandos WDDefine el tiempo máximo de espera (en segundos) para ejecutar un comando (tiempo de espera del comando). No funciona con el acceso nativo a MySQL.
Tiempo de espera de conexión WDDefine el tiempo máximo de espera (en segundos) para establecer la conexión (tiempo de espera de la conexión).. No funciona con el acceso nativo a MySQL.
HFSQL Client/Server Palabras clave reconocidas para el acceso por HFSQL Client/Server:
ENCRIPCIÓNPermite el cifrado de los datos intercambiados entre el Cliente y el Servidor.. Esta palabra clave puede tener dos valores:
  • RÁPIDO
  • RC5_16 para una encriptación RC5 (16 rondas).
Este parámetro es devuelto por ...CtExtendedInfo.
<Additional options>: Constant
Si no se especifica este parámetro, el motor HFSQL define automáticamente los mejores parámetros a utilizar en función de la base de datos a la que se accede y del proveedor OLE DB utilizado.
Para forzar algunos parámetros, tiene la posibilidad de combinar las siguientes constantes:
  • Ubicación de los cursores
    hClientCursorCursor administrado por MDAC. Ofrece más funciones que un cursor de servidor. Un cursor de cliente debe ser necesariamente un cursor estático.
    hServerCursorCursor gestionado por la base de datos. Este cursor puede aplicar fácilmente las modificaciones realizadas por los otros usuarios a los datos.
  • Tipo de cursor
    hCursorDinámicoCursor que ofrece muchas características pero que consume mucha memoria. Este cursor permite todos los tipos de movimientos. Permite acceder a todas las modificaciones, adiciones y eliminaciones realizadas por los demás usuarios.
    hForwardOnlyCursorCursor rápido que consume poca memoria. El movimiento se realiza desde el primer registro hasta el último.. Los datos modificados por los otros usuarios no son visibles.
    hOpenKeysetCursorCursor que maneja un conjunto fijo de registros. Sólo se almacenan las claves correspondientes al registro y no los registros (consume menos memoria).. Ya no se puede acceder a los registros borrados. Las modificaciones realizadas por los otros usuarios son visibles (pero no las adiciones).
    hStaticCursorRecupera una copia de todos los registros de consulta en memoria (consume mucha memoria).. Todos los tipos de movimientos están permitidos.
  • Modo de bloqueo
    hReadOnlyCursorEl conjunto de registros no puede modificarse.
    hOptimicCursorEl registro se bloquea cuando se actualiza
    hCursorpesimistaEl registro se bloquea tan pronto como se encuentra en edición para ser modificado.
Atención: algunos tipos de cursores pueden no ser soportados por todos los proveedores de OLE DB.
Este parámetro es devuelto por ...CtCursorOpciones.

Opening a connection defined by a Connection variable Ocultar los detalles

<Result> = gpwOpenConnection(<Connection name>)
<Result>: Boolean
  • True si la operación fue realizada,
  • False si se produce un problema. HErrorInfo se utiliza para identificar el error.
La apertura efectiva de la conexión no se realiza mediante gpwOpenConnection. La función puede devolver True incluso si los valores pasados en el parámetro son incorrectos.
Se utiliza gpwOpen para especificar la ubicación de los archivos de datos para la gestión de derechos, así como la ubicación de los archivos de datos para la identificación de los usuarios.. Los directorios deben especificarse en relación con el directorio del servidor.
<Connection name>: Connection variable
Nombre de la Conexión variable a abrir. Este nombre no debe ser utilizado por otra conexión (definida en el análisis, o por HOpenConnection oHDescribeConnection).
Observaciones

Utilizar un string para el proveedor OLE DB

Para encontrar fácilmente el string que se debe utilizar para definir el proveedor OLE DB, recomendamos que proceda como se indica a continuación:
  1. En el editor de modelos de datos, muestre la ventana de descripción de las conexiones ("Analysis .. Connection").En el editor de modelos de datos, mostrar la ventana de descripción de las conexiones: en el panel "Análisis", en el grupo "Conexión", haga clic en "Conexiones".
  2. Seleccione el proveedor que desea utilizar (cuadro combinado"Conectar a través").
  3. Se visualiza el string correspondiente al proveedor. Esta cadena de caracteres se puede utilizar en la sintaxis 2 en lugar de las constantes.

Si se produce un fallo, la descripción de la conexión no se almacena.

Si la conexión no se abre, no se valida la descripción de esta conexión.. Por lo tanto, es posible redefinir una conexión con el mismo nombre.
Por ejemplo, si el intento de conexión con la contraseña predeterminada falla, tiene la capacidad de realizar un nuevo intento con otra contraseña.

Se abren dos conexiones en el servidor

Dos contextos HFSQL son utilizados por el User Groupware. En el Centro de control de HFSQL, notará dos conexiones para una sola instancia de la aplicación.

Validez de la conexión

gpwOpenConnection sujetadores como HDescribeConnection: esta función no establece la conexión inmediatamente.
gpwOpenConnection identifica los parámetros de conexión que se utilizarán posteriormente para establecer la conexión.
Para validar esta conexión, usted tiene la posibilidad de llamar HOpenConnection antes de gpwOpenConnection con los mismos parámetros. Por lo tanto, los parámetros de conexión ya se comprobarán durante la llamada a gpwOpenConnection.
WINDEVWEBDEV - Código ServidorWindowsLinuxAjax

Pseudo-conexión a la base de datos HFSQL Classic

Los archivos de datos OLE DB o los archivos de datos nativos se describen en el editor de modelos de datos. A manipular estas descripciones con una base de datos HFSQL Classic, <OLE DB provider o Native Access> debe corresponderse con la directiva hAccessHF7 constante.
Los archivos de datos en formato HFSQL Classic correspondientes a la descripción de la base de datos OLE o archivos nativos se crearán (si es necesario) en el directorio definido por <Data Source&gt.
Componente : wd240gpu.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Exemplo de uso do Driver MS SQL Server
//Conexao
ok1, ok2 is boolean

myConn is Connection
myConn..Provider = hNativeAccessSQLServer
myConn..User = "adriano"
myConn..Password = "adriano@2016"
myConn..Source = "192.168.0.1\Projeto01"
myConn..Database = "Projeto01"
myConn..Access = hOReadWrite

ok1 = HOpenConnection(myConn)

ok2 = gpwOpenConnection(myConn)

NextTitle("Atenção")

If ok1 = true and ok2 = true

IF gpwInitAnalysis() = False THEN
Error(ErrorInfo())
ELSE
Info("Conexão ok com o banco de dados SQL Server e ativou o groupware")
END

end


IF ok = False THEN

Info("Falha ao tentar conectar no Servidor")

ELSE

Info("Conectou com sucesso no banco de dados!")

END
BOLLER
28 11 2016
gpw in Client Server
Using Manual mode and ClientServer doesn't work as expected, however it does work
You need to set the connection parameters in both the connection AND then use gpwOpenConnection with all the parameters. The trick is that those parameters ARE NOT optional. (Just because the compiler doesn't crash, doesn't mean that it works)

Like so -
Make your usual connection settings and open your connection
myConn is Connection
myConn..Database = "TheDatabaseName"
myConn ..Provider = "MSSQL or whatever"
myConn..Username="ME"
...
HOpenConnection(myConn )

then open the gpw connection using the same settings -
gpwOpenConnection(myConn,sUserName,sPassword,gsDatebaseSource,gsDatebaseName,szConnectionType)

Then you can use HChangeConnection( "somefiles", MyConn)

HTH,
Chris
ccordes
22 01 2014
2nd syntax doesn't work
1 - In the first example it should read Error(HErrorInfo())
ErrorInfo() will not return anything.

2 - To me, it seems that using a connection variable like in gpwOpenConnection(MyGpwConnection) doesn't work at all.
It always returns Result = False and no Error-number.

3 - The classic approach with all parameters in the same line works just fine.
Jimbo
15 08 2013
Spelling mistake in the example
IF nRes <> gpwOk THEN
SWITCH nRes
CASE gpwError: Error("Error while initializing the groupware.", ErrorInfo())
CASE gpwUnknownUser: Error("Unknown user.") //gpwUnknwonUser
CASE gpwInvalidPassword: Error("Invalid password")
END
END
Riebens
13 03 2012