Databases/es: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Databases/es
| Old | New | Line | |
|---|---|---|---|
| 1 | + | --- | |
| 2 | + | [[Portal:Databases|**Databases portal**]] | |
| 3 | + | References: | |
| 4 | + | ||
| 5 | + | * [[Databases|General info]] | |
| 6 | + | * [[Database libraries|Libraries]] | |
| 7 | + | * [[Database field type|Field types]] | |
| 8 | + | * [[Data Controls tab|Controls]] | |
| 9 | + | * [[Lazarus DB Faq|FAQ]] | |
| 10 | + | * [[SqlDBHowto|SQL how-to]] | |
| 11 | + | * [[Working With TSQLQuery]] | |
| 12 | + | * [[How to write in-memory database applications in Lazarus/FPC|In-memory database applications]] | |
| 13 | + | ||
| 14 | + | Tutorials/practical articles: | |
| 15 | + | ||
| 16 | + | * [[Lazarus Database Overview|Overview]] | |
| 17 | + | * [[SQLdb Tutorial0|0 - Database set-up]] | |
| 18 | + | * [[SQLdb Tutorial1|1 - Getting started]] | |
| 19 | + | * [[SQLdb Tutorial2|2 - Editing]] | |
| 20 | + | * [[SQLdb Tutorial3|3 - Queries]] | |
| 21 | + | * [[SQLdb Tutorial4|4 - Data modules]] | |
| 22 | + | * [[SQLdb Programming Reference]] | |
| 23 | + | ||
| 24 | + | Databases | |
| 25 | + | ||
| 26 | + | [[Advantage Database Server|Advantage]] \- [[MySQLDatabases|MySQL]] \- [[mssqlconn|MSSQL]] \- [[postgres|Postgres]] \- [[Firebird|Interbase]] \- [[Firebird]] \- [[Oracle]] \- [[ODBCConn|ODBC]] \- [[TParadox|Paradox]] \- [[SQLite]] \- [[Lazarus Tdbf Tutorial|dBASE]] \- [[MS Access]] \- [[Zeos tutorial|Zeos]] | |
| 27 | + | ||
| 28 | + | Trabajo en curso... | |
| 29 | + | ||
| 30 | + | ||
| 31 | + | Este control consistente en una barra de botones de utilidad ofrece al usuario algo de control directo sobre el DataSet, permitiendo al usuario: | |
| 32 | + | ||
| 33 | + | * Mover al registro siguiente (**next**) y previo (**prior**), así como al principio (**first**) y final (**last**). | |
| 34 | + | * Añadir un registro nuevo (equivalente a la llamada a un método dataset.insert). | |
| 35 | + | * Poner el dataset en modo edición (**edit**), necesario cuando ya existe dicho registro y deseamos modificarlo. | |
| 36 | + | * Borrar un registro (**delete**) el registro actual. | |
| 37 | + | * Envíar (**post**) o Cancelar (**cancel**) los cambios actuales del DataSet a la base de datos. | |
| 38 | + | * Refresca (**refresh**) los datos (útil en aplicaciones de bases de datos multiusuario) desde la base de datos. | |
| 39 | + | ||
| 40 | + | El programador puede determinar, en tiempo de diseño, que botones quiere dejar visibles o no, ajustando algunas de sus propiedades en el inspector de objetos: | |
| 41 | + | ||
| 42 | + | * VisibleButtons: Permite controlar lo que puede hacer el usuario. Por ejemplo, si los borrados (delete) no están permitidos se oculta este pulsador. Si se tiene un DBGrid anexado a un dataset puede decidirse que no se necesitan los pulsadores previo (**prior**) y siguiente (**next**). | |
| 43 | + | ||
| 44 | + | Los botones que posee esta barra son del tipo [tdbnavbuttonset](<http://lazarus-ccr.sourceforge.net/docs/lcl/dbctrls/tdbnavbuttonset.html>) admitiendo los siguientes: | |
| 45 | + | ||
| 46 | + | * Comienzan por nb de navigator button: | |
| 47 | + | * nbFirst: navigator button First (mueve al primer registro). | |
| 48 | + | * nbPrior: navigator buttor Prior (mueve al registro previo). | |
| 49 | + | * nbNext: navigator button Next (mueve al registro siguiente). | |
| 50 | + | * nbLast: navigator button Last (muesve al último registro). | |
| 51 | + | * nbInsert: navigator button Insert (inserta un nuevo registro). | |
| 52 | + | * nbDelete: navigator button Delete (borra el registro actual). | |
| 53 | + | * nbEdit: navigator button Edit (edita un registro existente). | |
| 54 | + | * nbPost: navigator button Post (envía el DataSet a la base de datos). | |
| 55 | + | * nbCancel: navigator button Cancel (cancela los cambios realizados). | |
| 56 | + | * nbRefresh navigator button Refresh (refresca el contenido del DataSet desde la base de datos). | |
| 57 | + | ||
| 58 | + | Por ejemplo para un control de este tipo y su dataset asociado, vinculado a una fuente de datos: **dbnavigator1.DataSource.DataSet.First;** nos situaría en el primer registro. | |
| 59 | + | ||
| 60 | + | * Width: Si no se muestran todos los pulsadores, posiblemente se necesite establecer la anchura al valor altura*número de pulsadores visibles( height*number_of_visible_buttons). | |
| 61 | + | ||
| 62 | + | Para su funcionamiento se debe especificar el conjunto de datos al que se asocia mediante su propiedad DataSource. | |
| 63 | + | ||
| 64 | + | Si se utiliza en conjunción con otros controles de datos (data-aware) tales como TDBGrid o TDBMemo entonces controla que registros se mostrarán, la posición del cursor de selección de registro y la iniciación de cambios del dataset y en última instancia de la base de datos. | |
| 65 | + | ||
| 66 | + | Por otro lado cabe indicar que la mayor parte de la funcionalidad de esta barra se encuentra ya implementada, pero en el caso de que el programador necesite especificar acciones asociadas a un pulsadores individuales, hay un procedimiento [tdbcustomnavigator.btnclick](<http://lazarus-ccr.sourceforge.net/docs/lcl/dbctrls/tdbcustomnavigator.btnclick.html>) al cual se puede enviar un argumentocon el valor de índice del botón pulsado, y el procedimiento escoge que acción llamar dependiendo del indice del botón. | |
| 67 | + | ||
| 68 | + | ## Corriendo los test de bases de datos de FPC | |
| 69 | + | ||
| 70 | + | Los componentes de bases de datos FreePascal incluyen un framework de prueba que se puede utilizar para probar la funcionalidad. Ver el directorio source\packages\fcl-db\tests\ en el árbol de directorios de instalación de FPC. | |
| 71 | + | ||
| 72 | + | Lo incluido es un framework de prueba que se puede arrancar en varios componentes de bases de datos, así como en otros test (e.g. test de exportacion de bases de datos en XMLXSDExportTest.lpr). | |
| 73 | + | ||
| 74 | + | Para arrancar el framework de prueba para una cierta base de datos hacer lo siguiente: | |
| 75 | + | ||
| 76 | + | 1\. Salvar "source\packages\fcl-db\tests\database.ini.txt" como "source\packages\fcl-db\tests\database.ini" | |
| 77 | + | ||
| 78 | + | 2\. Modificar source\packages\fcl-db\tests\database.ini para escoger el tipo de base de datos a utilizar. | |
| 79 | + | ||
| 80 | + | `Example: utilizar Interbase o Firebird: [Database] type=interbase` | |
| 81 | + | ||
| 82 | + | 3\. En el mismo fichero, configurar los valores para la base de datos a utilizar. E.g. si se escogió interbase anteriormente: | |
| 83 | + | ``` | |
| 84 | + | 01 [interbase] | |
| 85 | + | 02 connector=sql | |
| 86 | + | 03 connectorparams=interbase | |
| 87 | + | 04 ; esto es un comentario, ya que comienza por ; los números de inicio de línea se han puesto para más claridad. | |
| 88 | + | 05 ;nombre de la base de datos. obviamente cambiar por el de la base de datos a utilizar. | |
| 89 | + | 06 name=testdb | |
| 90 | + | 07 user=sysdba | |
| 91 | + | 08 password=masterkey | |
| 92 | + | 09 ; tu hostname o nombre de equipo puede diferir del utilizado en este ejemplo (lógico). | |
| 93 | + | 10 hostname=192.168.0.42 | |
| 94 | + | ``` | |
| 95 | + | ||
| 96 | + | 4\. Compila y arranca "source\packages\fcl-db\tests\dbtestframework.pas" | |
| 97 | + | ||
| 98 | + | La salida se obtendrá en formato XML. | |
| 99 | + | ||
| 100 | + | ||
| 101 | + | Para más detalles leer el fichero "source\packages\fcl-db\tests\README.txt" | |
| 102 | + | ||
| 103 | + | ## Paquetes de Bases de Datos suministrados con Lazarus | |
| 104 | + | ||
| 105 | + | ### sqldblaz.lpk | |
| 106 | + | ||
| 107 | + | Este paquete provee acceso a diferentes bases de datos. Incluye: | |
| 108 | + | ||
| 109 | + | * Interbase/Firebird | |
| 110 | + | * MySQL (Versiones: 4.0/4.1/5.0/5.1/5.5 en Lazarus 1.0.4). | |
| 111 | + | * Oracle | |
| 112 | + | * PostgreSQL (Versiones: hasta la 8.x en Lazarus 1.0.4) | |
| 113 | + | * SQLite (Versión: 3 en Lazarus 1.0.4)(con soporte para la extensión [[Spatialite]]) | |
| 114 | + | * Cualquier base de datos que tenga un driver ODBC. | |
| 115 | + | ||
| 116 | + | Los componentes (TSQLQuery, TSQLTransaction, TIBConnection, TODBCConnection, TOracleConnection, TMySQL40Connection, TMySQL41Connection, TMySQL50Connection, TPQConnection) se encuentran en la pestaña 'SQLdb' en la paleta de componentes. | |
| 117 | + | ||
| 118 | + | * [[SQLdb Package/es|Paquete SQLdb]] | |
| 119 | + | ||
| 120 | + | ### dbflaz.lpk | |
| 121 | + | ||
| 122 | + | Este paquete provee acceso a las bases de datos dBase y FoxPro.Puedes obtener más información en la [[Lazarus Tdbf Tutorial|Tutoría de Lazarus Tdbf]]. El componente TDbf se localiza en la pestaña 'Data Access' en la paleta de componentes. | |
| 123 | + | ||
| 124 | + | ### sqlitelaz.lpk | |
| 125 | + | ||
| 126 | + | Este paquete provee acceso a las bases de datos SQLite. Puedes obtener más información en la [[Lazarus Database Tutorial/es|Tutoría de Bases de Datos Lazarus]]. | |
| 127 | + | ||
| 128 | + | ### sdflaz.lpk | |
| 129 | + | ||
| 130 | + | El componente TSdfDataSet se encuentran en la pestaña 'Data Access' en la paleta de componentes. | |
| 131 | + | ||
| 132 | + | ### lazreport.lpk | |
| 133 | + | ||
| 134 | + | La página principal del generador de informes es <http://lazreport.sourceforge.net/>. Más información y enlaces adicionales se encuentran en [ aquí](</index.php?title=Projects_using_Lazarus/es&action=edit&redlink=1> "Projects using Lazarus/es \(page does not exist\)"). LazReport depende del paquete Printer4Lazarus. Con la revisión 11950 LazReport fué incluido el repositorio SVN de Lazarus. | |
| 135 | + | ||
| 136 | + | ## Paquetes y librerías externas | |
| 137 | + | ||
| 138 | + | ### Zeos DataBase Objects | |
| 139 | + | ||
| 140 | + | Los componentes de este paquete proveen acceso a diferentes bases de datos. Puedes obtener más información [[ZeosDBO|aquí]]. Este wiki contiene una [[Zeos tutorial/es|tutoría Zeos]]. | |
| 141 | + | ||
| 142 | + | ### Pascal Data Objects | |
| 143 | + | ||
| 144 | + | Ahora hay una alternativa. | |
| 145 | + | ||
| 146 | + | Soporta: | |
| 147 | + | ||
| 148 | + | * MySQL 4.1 y 5.0 | |
| 149 | + | * sqlite-2 y sqlite-3 | |
| 150 | + | * pgsql-8.1 | |
| 151 | + | * interbase-5, interbase-6, firebird-1.0, firebird-1.5, firebird-1.5E, firebird-2.0, firebird-2.0E | |
| 152 | + | * mssql (librería Microsoft) y sybase (librería FreeTDS) | |
| 153 | + | * oracle | |
| 154 | + | ||
| 155 | + | * así como sentencias preparadas, enlace, y procedimientos almacenados son soportados por la API de base de datos llamada Pascal Data Objects, que se inspira en PHP Data Objects. Todo el código y la documentación necesaria para utilizar esta nueva API está disponible en [aquí](<http://pdo.sourceforge.net>) en Sourceforge: | |
| 156 | + | ||
| 157 | + | ### TPSQL | |
| 158 | + | ||
| 159 | + | Los componentes de este paquete proveen acceso vía TCP/IP a bases de datos PostgreSQL. Puedes obtener más información en [[TPSQL/es|esta página]]. | |
| 160 | + | ||
| 161 | + | ### FIBL | |
| 162 | + | ||
| 163 | + | Los componentes de este paquete proveen acceso a bases de datos Interbase y Firebird. La página principal está [aquí](<http://sourceforge.net/projects/fibl>). | |
| 164 | + | ||
| 165 | + | ### FBLib Firebird, librería | |
| 166 | + | ||
| 167 | + | [FBLib](<http://fblib.altervista.org/>) es una librería de fuente abierta sin componentes ligados a datos (No Data Aware) para acceso directo a bases de datos relacionales Firebird desde Borland Delphi/Kylix, Free Pascal y Lazarus. | |
| 168 | + | ||
| 169 | + | Las características actuales incluyen: | |
| 170 | + | ||
| 171 | + | * Acceso directo a to Firebird 1.0.x, 1.5.x y 2.x Classic o SuperServer | |
| 172 | + | * Multiplataforma [Win32,Gnu/Linux,FreeBSD) | |
| 173 | + | * Selección automática de la librería cliente 'fbclient' o 'gds32' | |
| 174 | + | * Consultas con parámetros | |
| 175 | + | * Soporte del dialecto SQL 1/3 | |
| 176 | + | * Acuerdo de Licencia LGPL | |
| 177 | + | * Extracción de Metadata | |
| 178 | + | * Analizador simple de secuencias de comandos | |
| 179 | + | * Únicamente añade 100-150 KB al EXE final | |
| 180 | + | * Soporta campos BLOB | |
| 181 | + | * Exporta datos a HTML SQL Script | |
| 182 | + | * Administrador de servicios (copia de seguridad, restauración,gfix...) | |
| 183 | + | * Eventos de alerta | |
| 184 | + | ||
| 185 | + | Puedes descargar la documentación desde el [sitio web FBLib's](<http://fblib.altervista.org/>). | |
| 186 | + | ||
| 187 | + | ### Unified Interbase | |
| 188 | + | ||
| 189 | + | UIB provee acceso a bases de datos Interbase, Firebird y YAFFIL. TLa página principal es [www.progdigy.com](<http://www.progdigy.com>). Un repositorio SVN está disponible [aquí](<https://uib.svn.sourceforge.net/svnroot/uib>) . | |
| 190 | + | ||
| 191 | + | ### TechInsite Object Persistence Framework (tiOPF) | |
| 192 | + | ||
| 193 | + | Más información acerca de tiOPF se puede encontrar en esta [[tiOPF|página]]. | |
| 194 | + | ||
| 195 | + | --- | |
| 196 | + | *From the Free Pascal wiki, page "Databases/es", as the Internet Archive kept it on 2025-05-14. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
