- Sintaxis 1: Abrir una conexión preestablecida: gestión automática de conexiones
- Sintaxis 2: Utilizar una cadena de caracteres para el proveedor OLE DB
- Sintaxis 2 y 3: Si se produce un error, no se conserva la descripción de la conexión
- Pseudo-conexión a una base de datos HFSQL Classic
- Diferencias entre HOpenConnection y HDescribeConnection
- Archivo UDL (archivo de descripción de conexión OLE DB)
- Conector Nativo Oracle: gestión de la autenticación externa
- Limitaciones
HOpenConnection (Función)
No disponible con este tipo de conexión
Sintaxis <Result>: booleano - True si se realizó la operación,
- False si se produce un problema (durante una conexión descrita por la programación, algunos parámetros utilizados en HDescribeConnection pueden ser incorrectos, por ejemplo).
La función HErrorInfo permite identificar el error.
<Conexión>: Cadena de caracteres (con o sin comillas) o variable de tipo Connection Conexión a una base de datos. Esta conexión corresponde a: - el nombre de la conexión definida en el editor de análisis,
- el nombre de la conexión definida por HDescribeConnection. La descripción de la conexión debe conocerse al ejecutar la función.
- el nombre de una variable de tipo Conexión.
Definición y apertura de una conexión Ocultar los detalles
<Result> = HOpenConnection(<New connection> , <User> [, <Password>] , <Data source> [, <Database>] , <OLE DB provider or Native Access> [, <Access> [, <Extended information> [, <Additional options>]]])
<Result>: booleano - True si se realizó la operación,
- False si se produce un problema. La función HErrorInfo permite identificar el error. Para asignar esta conexión a un archivo, utilice la función HChangeConnection. La descripción de la conexión se eliminará al cerrar la conexión.
<New connection>: Cadena de caracteres (con comillas) o variable de tipo Connection Nombre de la nueva conexión a definir y abrir. Este nombre no debe ser usado por otra conexión (definida en el análisis, o por HOpenConnection o HDescribeConnection). <User>: Cadena de caracteres (con comillas) Nombre del usuario utilizado para la base de datos. Este parámetro puede ser modificado y recuperado usando la propiedad ..User en una variable Conexión. <Password>: Cadena de caracteres opcional (con comillas) Contraseña de conexión (si existe). Si no se requiere una contraseña, utilice una cadena vacía ("") o la palabra clave NULL. Este parámetro puede ser modificado usando la propiedad ..Contraseña en una variable Conexión. <Data source>: Cadena de caracteres (con comillas) Ruta completa de la fuente de datos. La conexión se creará y abrirá para esta fuente de datos. <Database>: Cadena de caracteres opcional (con comillas) Nombre de la base de datos que se utilizará en la fuente de datos. Si no se requiere este parámetro, utilice una cadena vacía ("").Este parámetro puede ser recuperado y modificado usando la propiedad ..Database en una variable Conexión. En el caso de una base de datos dividida en esquemas, el nombre del esquema en la base de datos será especificado por HChangeName. La base de datos se creará automáticamente si no existe. <OLE DB provider or Native Access>: Cadena o constante de caracteres - Nombre del proveedor OLE DB utilizado. Para obtener fácilmente la cadena a utilizar, seleccione la opción "Conexión" en el editor de análisis (ver Notas).
o - una de las siguientes constantes:
| | hAccessHF7 | Pseudo-conexión a una base de datos HFSQL Classic. | hAccessHFClientServer | Conector Nativo a una base de datos HFSQL Client/Server. | hNativeAccessAS400 | Conector Nativo AS/400 (módulo opcional de WINDEV/WEBDEV). | hNativeAccessDB2 | Conector Nativo DB2 (módulo opcional de WINDEV/WEBDEV). | hNativeAccessInformix | Conector Nativo Informix (módulo opcional de WINDEV/WEBDEV). | Versiones 20 y posterioreshNativeAccessMariaDB Nueva funcionalidad versión 20hNativeAccessMariaDB hNativeAccessMariaDB | Conector Nativo MariaDB (módulo opcional de WINDEV/WEBDEV). | hNativeAccessMySQL | Conector Nativo MySQL (módulo opcional de WINDEV/WEBDEV). | hNativeAccessOracle | Conector Nativo Oracle (módulo opcional de WINDEV/WEBDEV). | hNativeAccessOracleLite | Conector Nativo Oracle (módulo opcional de WINDEV Mobile). | hNativeAccessPostgreSQL | Conector Nativo PostgreSQL (módulo opcional de WINDEV/WEBDEV). | hNativeAccessProgress | Conector Nativo Progress (módulo opcional de WINDEV/WEBDEV). | Versiones 16 y posterioreshNativeAccessSQLAzure Nueva funcionalidad versión 16hNativeAccessSQLAzure hNativeAccessSQLAzure | Native SQL Azure Connector (módulo opcional de WINDEV/WEBDEV, suministrado con Conector Nativo SQL Server). | Versiones 16 y posterioreshNativeAccessSQLite Nueva funcionalidad versión 16hNativeAccessSQLite hNativeAccessSQLite | Conector SQLite nativo (suministrado con WINDEV/WEBDEV). | hNativeAccessSQLServer | Conector Nativo SQL Server (módulo opcional de WINDEV/WEBDEV) La antigua Conector Nativo se utiliza por defecto. Para forzar el uso de la nueva Conector Nativo SQL Server, usa la variable H.SQLServerMode. | hNativeAccessSQLServerMobile | Native SQL Server Mobile Connector (módulo opcional de WINDEV Mobile). | hNativeAccessSybase | Conector Nativo Sybase (módulo opcional de WINDEV/WEBDEV). | hNativeAccessXBase | Conector xBase nativo (suministrado con WINDEV/WEBDEV). | hNativeAccessXML | Conector XML nativo (suministrado con WINDEV/WEBDEV). | hODBC | Proveedor OLE DB para ODBC (permite acceder a una fuente de datos ODBC declarada en las fuentes de datos ODBC de Windows). | hOledbAccess97 | Proveedor OLE DB para Access 97. | hOledbAccess2000 | Proveedor OLE DB para Access 2000. | hOledbAccess2007 | Proveedor OLE DB para Access 2007. | Versiones 19 y posterioreshOledbAccess2010 Nueva funcionalidad versión 19hOledbAccess2010 hOledbAccess2010 | Proveedor OLE DB para Access 2010. | hOledbDBase5 | Proveedor OLE DB para dBase 5. | hOledbExcel2007 | Proveedor OLE DB para Excel 2007. | hOledbExcel2000 | Proveedor OLE DB para Excel 2000. | hOledbExcel97 | Proveedor OLE DB para Excel 97. | hOledbLotus4 | Proveedor OLE DB para Lotus 4. | hOledbOracle | Proveedor OLE DB para Oracle. | hOledbSQLServer | Proveedor OLE DB para SQL Server |
Las constantes disponibles son las siguientes: | | hAccessHF7 | Pseudo-conexión a una base de datos HFSQL Mobile. | hAccessHFClientServer | Conexión a una base de datos de HFSQL Client/Server. | hNativeAccessOracle | Native Oracle Lite Connector (módulo opcional). | hNativeAccessSQLServerMobile | Native SQL Server Mobile Connector (módulo opcional). |
 Las constantes disponibles son las siguientes: | | Versiones 15 y posterioreshNativeAccessSQLite Nueva funcionalidad versión 15hNativeAccessSQLite hNativeAccessSQLite | Conector SQLite nativo para aplicaciones Android. |
Las constantes disponibles son las siguientes: | | hAccessHF7 | Seudoconexión a una base de datos HFSQL | hAccessHFClientServer | Conexión a una base de datos de HFSQL Client/Server. | hAccessJDBCMySQL | Acceso a una base de datos MySQL mediante JDBC. | Versiones 15 y posterioreshAccessJDBCSQLite Nueva funcionalidad versión 15hAccessJDBCSQLite hAccessJDBCSQLite | Acceso a una base de datos SQLite mediante JDBC. | hAccessJDBCSQLServer | Acceso a una base de datos SQL Server mediante JDBC. | Este parámetro puede ser recuperado y modificado usando la propiedad ..Provider en una variable Conexión.
<Access>: Constante opcional Configura el tipo de acceso a la base de datos. | | hOReadWrite (valor predeterminado) | Se puede acceder a la base de datos en lectura/escritura. Se pueden leer y escribir nuevos registros. | hORead | Se puede acceder a la base de datos en modo de solo lectura. Solo se pueden leer registros. No se pueden agregar o eliminar. | Este parámetro puede ser recuperado y modificado usando la propiedad ..Access en una variable Conexión. <Extended information>: Cadena de caracteres opcional (con comillas) Información opcional insertada en la cadena de conexión 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. Enseguida, los parámetros extraídos son procesados por el Acceso Nativo o el Acceso OLE DB utilizado. Estas palabras clave deben indicarse de la siguiente manera: "<Palabra clave> = <Valor>;".Se puede, por ejemplo, especificar el parámetro "Trusted_Connection=YES" para utilizar una conexión con autenticación mediante el usuario NT.
<Additional options>: Constante opcional Si no se especifica este parámetro, el motor HFSQL define automáticamente los parámetros que se deben utilizar en función de la base de datos a la que se accede y del proveedor OLE DB utilizado. Por defecto, este parámetro corresponde a la siguiente combinación de constantes: hServerCursor + hOpenKeysetCursor + hOptimisticCursor Sin embargo, estos parámetros pueden variar según la información devuelta por la base de datos. Para forzar algunos parámetros, se pueden combinar las siguientes constantes: - Ubicación de cursores
| | hClientCursor | Cursor utilizado por MDAC. Por lo general, ofrece más funcionalidades que un cursor servidor. Un cursor cliente obligatoriamente es un cursor estático. | hServerCursor | Cursor utilizado por la base de datos. Este cursor puede aplicar fácilmente las modificaciones realizadas por otros usuarios a los datos. |
- Tipo de cursor
| | hDynamicCursor | Cursor que ofrece una gran cantidad de funcionalidades pero que consume mucha memoria. Este cursor permite realizar varios movimientos. Permite acceder a todas las modificaciones, adiciones y eliminaciones realizadas por los demás usuarios. | hForwardOnlyCursor | Cursor rápido que consume poca memoria. El desplazamiento se realiza del primer al último registro. Los datos modificados por otros usuarios no son visibles. | hOpenKeysetCursor | Cursor que utiliza un conjunto de registros fijo. Solo se almacenan las claves que corresponden al registro, no los registros (consume menos memoria). No se puede acceder a los registros eliminados. Las modificaciones realizadas por otros usuarios son visibles (pero los registros añadidos no lo son). | hStaticCursor | Hace una copia de los registros de la consulta en la memoria (alto consumo de memoria). Todos los tipos de desplazamiento están permitidos. |
- Modo de bloqueo
| | hReadOnlyCursor | El conjunto de registros utilizado no podrá modificarse. | hOptimisticCursor | El registro se bloquea durante la actualización | hPessimisticCursor | El registro se bloquea tan pronto como pasa al modo de edición para ser modificado. |
Atención: no todos los proveedores OLE DB soportan todos los tipos de cursores.Este parámetro puede ser recuperado y modificado usando la propiedad ..CursorOptions.
Observaciones Diferencias entre HOpenConnection y HDescribeConnection Método 1: Para abrir una conexión al principio de la aplicación y cerrarla al final, utilice HOpenConnection. Para usar esta conexión al manejar archivos o tablas, simplemente cambie esta conexión con HChangeConnection.
HOpenConnection(MyConnection, params) // Open the connection HChangeConnection(AFile, MyConnection)
Método 2: Para describir una conexión por programación y abrirla automáticamente al abrir el archivo, es necesario: - describir la conexión con la función HDescribeConnection
- asociar la conexión a la descripción del archivo deseado con la función HChangeConnection. La conexión se abrirá la primera vez que se acceda al archivo.
Esta solución puede ser útil cuando una aplicación utiliza archivos HFSQL y Oracle. Por ejemplo, si la aplicación utiliza un solo archivo de Oracle en un proceso muy específico, la conexión a la base de datos Oracle solo se establecerá cuando sea necesario. Si se elige la primera solución para el mismo tipo de aplicación, la conexión (que puede llevar bastante tiempo) se establecerá cada vez que se inicie la aplicación. Ejemplo:
HDescribeConnection(MyConnection, params) HChangeConnection(AFile, MyConnection) ... HReadFirst(AFile) // Open the connection ... HClose(AFile) // Close the connection
Versiones 18 y posteriores Nueva funcionalidad versión 18
Esta página también está disponible para…
|
|
|
| |
| Conexao PostgreSQL com porta diferente da Padrão |
|
| PROCEDURE ConexaoPostgreSQL()
ok1, ok2 is boolean
INIWrite("Config","HOST",EDT_Host,fCurrentDir()+"\Config.ini") INIWrite("Config","PORT",EDT_Porta,fCurrentDir()+"\Config.ini") INIWrite("Config","DBAS",EDT_DB,fCurrentDir()+"\Config.ini") INIWrite("Config","USER",EDT_User,fCurrentDir()+"\Config.ini") INIWrite("Config","PASS",EDT_Pass,fCurrentDir()+"\Config.ini")
MyConnect is Connection MyConnect..Provider = hNativeAccessPostgreSQL MyConnect..Server = EDT_Host MyConnect..Source = EDT_Host//+";"+val(EDT_Porta) MyConnect..Database = EDT_DB MyConnect..User = EDT_User MyConnect..Password = EDT_Pass MyConnect..ExtendedInfo = "WD Cache Size = 10000; Server Port="+Val(EDT_Porta)+";"
IF HOpenConnection(MyConnect) = True THEN ok1 = True END IF HChangeConnection("*",MyConnect) = True THEN ok2 = True END
IF ok1 = True AND ok2 = True THEN ToastDisplay("Conectou com Sucesso no PostgreSQL!",toastLong,vaMiddle,haCenter,RGB(0,0,255)) End
|
|
|
|
| |
| |
| |
|
| | https://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/3252-informatica-novo-metodo-create-database-hfsql-client-server-3266/read.awp |
|
|
|
| |
| |
| |
|
| HCS.Timeout & HCS.FrameSize |
|
| A variável HCS.Timeout é usada para modificar o tempo limite da conexão: Para as conexões estabelecidas pelo HOpenConnection . Para as aberturas de conexão automática. Nota : A variável HCS.Timeout é ignorada para os acessos ao servidor que não seja a conexão. Um pedido cuja execução é maior do que o valor especificado na variável HCS.Timeout não seria interrompida, por exemplo. Esse tempo limite deve ser especificado no aplicativo cliente, antes que uma conexão seja aberta no servidor. Exemplo
HCS.Timeout = INTRANET
A variável HCS.FrameSize é usada para redimensionar o quadro de dados de saída. Em alguns casos, o redimensionamento dos quadros pode ser usado para adaptar o fluxo de dados de saída e de entrada aos desempenhos do hardware usado. Por exemplo, se a conexão entre os computadores clientes e o mecanismo HFSQL Client / Server for através de redes de configuração (placa de rede, switch, roteador, vpn, ...)
HCS.FrameSize = hInternetFrame
|
|
|
|
| |
| |
| |
|
| In class, let's review the hyperfile connection. |
|
| Aula 1158 WinDev Curso ErpAmarildo 16 - Conexao Hyperfile
Nessa aula de hoje
Na aula de vamos , revisar a conexao hyperfile
In class, let's review the hyperfile connection.
En la clase de vamos, revisar la conexión hyperfile
http://windevdesenvolvimento.blogspot.com.br/2016/06/menu-blog.html
http://windevdesenvolvimento.blogspot.com.br/2015/04/windevwebdevmobile-hyperfile-instalar.html
https://doc.windev.com/en-US/?2028081&name=Hyper_File_CS_server
https://doc.windev.com/en-US/?3044107&name=HOpenConnection
https://doc.windev.com/en-US/?3044095&name=hcloseconnection_function
https://doc.windev.com/en-US/?3044150&name=HChangeConnection
http://windevdesenvolvimento.blogspot.com.br/2017/05/aula-1158-windev-curso-erpamarildo-16.html
https://www.youtube.com/watch?v=B87q726WBr4
|
|
|
|
| |
| |
| |
|
| Exemplo de uso do driver nativo MS SQL SERVER |
|
| //Conexao ok, ok1, ok2, ok3 is boolean
myConn is Connection myConn..Provider = hNativeAccessSQLServer myConn..User = "adriano" myConn..Password = "adriano@2016" myConn..Source = "192.168.0.162\projeto01" myConn..Database = "projeto01" myConn..Access = hOReadWrite
ok1 = HOpenConnection(myConn) IF ok1 = False THEN Info(ErrorOccurred() +" - "+ HErrorInfo()) END
IF gpwInitAnalysis() = False THEN Error(ErrorInfo()) ok2 = False ELSE
ok2 = True IF gpwOpen() = gpwOk ok3 = True ELSE Info(ErrorOccurred() +" - "+ HErrorInfo()) ok3 = False END
END
NextTitle("Atenção")
IF ok1 = True AND ok2 = True AND ok3 = True THEN //deve dar tudo ok
Info("Conectou com sucesso no banco de dados!")
ELSE
Info("Falha ao tentar conectar no Servidor")
END
|
|
|
|
| |
| |
| |
|
| A more "real life" example |
|
| The example lacks the function that actually let´s you open any file in the database, this function is HchangeConnection, so for me the example should be:
MyConnection is Connection // Describe the connection MyConnection..User = "admin" MyConnection..Password = "" MyConnection..Server = "Diego-PC" MyConnection..Database = "Followup" MyConnection..Provider = hAccessHFClientServer MyConnection..Access = hOReadWrite MyConnection..ExtendedInfo = "Extended information" MyConnection..CursorOptions = hClientCursor // Establish the connection HOpenConnection(MyConnection) HChangeConnection("*",MyConnection) <- This line is a must in order to open the files |
|
|
|
| |
| |
| |
| |
| |
| |
| | |
|