Sign in Join
Wiki copytemporary

mssqlconn/es: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: mssqlconn/es

OldNewLine
1+## Resumen
2+
3+mssqlconn es una unidad fcl-db que contiene código de conector para **TMSSQLConnection** (MS SQL Server) y **TSybaseConnection** (Sybase ASE) Lazarus utiliza mssqlconn para presentar conectores a MS SQL y Sybase ASE.
4+
5+![](/wiki-images/c/cc/Sqldbcomponents.png)
6+
7+## DBLib
8+
9+mssqlconn utiliza la unidad de bajo nivel dblib que requiere de la librería FreeTDS(.dll/.dylib/.so) para conectar al servidor.
10+
11+## Instalación
12+
13+Lo único que se necesita es una librería FreeTDS dll/dylib/so acorde a la plataforma utilizada.
14+
15+- Bajo Linux, descarga el paquete freetds que provee **libsybdb.so** (e.g. en Debian lo provee el paquete **libsybdb5**) (y el paquete de desarrollo) utilizando el gestor de paquetes. Puede ser necesario añadir un enlace simbólico libsybdb.so a libsybdb.so.5
16+
17+- Bajo Windows, se puede descargar una versión reciente de la librería FreeTDS tanto en su versión de 32 o 64 bits **dblib.dll** desde el siguiente enlace: [1](ftp://ftp.freepascal.org/fpc/contrib/windows/)
18+
19+Uso avanzado: modificando el fichero de FPC **dblib.pas** SQLDB puede utilizar la librería "nativa" **ntwdblib.dll** en lugar de la librería FreeTDS **dblib.dll** (en este caso FPC necesita ser compilado).
20+
21+## Documentación
22+
23+Documentación oficial: [documentación de FPC sobre mssqlconn](http://www.freepascal.org/docs-html/fcl/mssqlconn/index.html)
24+
25+## Limitaciones y consejos
26+
27+- Puerto para Sybase: el puerto por defecto para Sybase ASE es el 5000. Como FreeTDS/mssqlconn utiliza el 1433 por defecto, puede ser necesario añadir :5000 a la propiedad del nombre de host (hostname) automáticamente o bien manualmente de forma posterior por parte del usuario.
28+
29+Tal como especifica la documentación:
30+
31+- puede ser necesario retocar algunos parámetros para soportar BLOB.
32+- no están soportados los resultados múliples de MS SQL (multiple resultsets (MARS)).
33+
34+Además, **TMSSQLConnection** y **TSybaseConnection** no soportan el manejo del retorno de estado y salida de parámetros de procedimientos almacenados.
35+
36+Consejos adicionales:
37+
38+- Puede que necesites realizar YourConnection.ExecuteDirect('SET ANSI_NULL_DFLT_ON ON'); si necesitas permitir automáticamente los valores NULL en las columnas cuando creas tablas. Ver documentación MS: <http://msdn.microsoft.com/en-us/library/ms174979.aspx>
39+- Puede que necesites de manera similar establecer SET ANSI_PADDING al valor ON para habilitar la compatibilidad mejorada con las funciones de comparación de texto de sqldb. Ver documentación MS: <http://msdn.microsoft.com/en-us/library/ms187403.aspx>
40+
41+## Ejemplos
42+
43+### Creando una base de datos
44+
45+El ejemplo de debajo crea una base de datos en un servidor MS SQL. Ten en cuenta para que funcione que el parámetro de conexión AutoCommit debe establecerse a on. Para conexiones normales subsequentes se puede establecer a off de nuevo y utilizar **StartTransaction** and **Commit** regularmente.
46+
47+``` pascal
48+// Crear un formulario con un pulsador llamado DBButton,
49+// un textbox llamado DatabaseNameEdit,
50+// una conexión '''MSSQLConnection''' llamada FConn
51+// ***asegúrate de que el parámetro Autocommit se encuentra establecido a on para la parte de creación de db antes de conectar:
52+//FConn.Params.Add('AutoCommit=true');
53+procedure TForm1.CreateDBButtonClick(Sender: TObject);
54+var
55+ CurrentDB: string;
56+begin
57+ if DatabaseNameEdit.Text='' then
58+ begin
59+ showmessage('Nombre de base de datos vacío. Por favor especifica un nombre primero.');
60+ exit;
61+ end;
62+
63+ CurrentDB:=FConn.DatabaseName;
64+ try
65+ // For FPC 2.6.1+
66+ FConn.ExecuteDirect('CREATE DATABASE '+DatabaseNameEdit.Text);
67+ {
68+ // This works with FPC 2.7.1, not on 2.6.1
69+ FConn.CreateDB;
70+ }
71+ except
72+ on E: Exception do
73+ begin
74+ showmessage('Excepción corriendo CreateDB: '+E.Message);
75+ end;
76+ end;
77+end;
78+```
79+
80+---
81+*From the Free Pascal wiki, page "mssqlconn/es", as it stood on 2020-02-20 after a change by Trev, out of the wiki's dump of 2024-05-26. 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).*
82+Category: Castellano
83+Category: Español

Back to history