Copie du wikimiroir

Ceci est un miroir du wiki de pascal.chat. La modification, l’historique et la connexion se trouvent là-bas.

mssqlconn/fr

English · Español · Français · Polski


Portail de la base de données
Références: · Information générale · Bibliothèques · Types de champ · Contrôles · FAQ · Comment faire en SQL ? · Travailler avec TSQLQuery · Applications de base de données en mémoire · Tutoriels/articles pratiques : · Vue d'ensemble · 0 - Configuration de la base de données · 1 - Commençons · 2 - Edition · 3 - Requêtes · 4 - Modules de données · Référence de programmation SQLdb · Bases de données · Advantage - MySQL - MSSQL - Postgres - Interbase - Firebird - Oracle - ODBC - Paradox - SQLite - dBASE - MS Access - Zeos

mssqlconn est un unité de fcl-db contenant le code du connecteur pour TMSSQLConnection (MS SQL Server) et TSybaseConnection (Sybase ASE).

Lazarus utilise mssqlconn pour présenter un connecteur MS SQL et un connecteur Sybase ASE.

DBLib

mssqlconn utilise l'unité de bas-niveau dblib qui nécessite la bibliothèque FreeTDS (.dll/.dylib/.so) pour se connecter au serveur.

Installation

La seule chose dont vous avez besoin est une bibliothèque dll/dylib/so FreeTDS pour votre plate-forme.

Utilisation avancée : en modifiant le fichier FPC dblib.pas SQLDB pourrait utiliser la bibliothèque "native" ntwdblib.dll au lieu de la bibliothèque FreeTDS par défaut dblib.dll (dans ce cas, FPC a besoin d'être recompilé).

Documentation

Documentation officielle : Documentation FPC sur mssqlconn

Limitations et conseils

Comme la documentation le spécifie :

Paramètres de sorties et procédures stockées

Aussi, TMSSQLConnection et TSybaseConnection ne prennent pas en charge la gestion des status de retour et les paramètres de sortie (output parameters) des procédures stockées. Pour plus d'information, voir : http://www.freetds.org/faq.html#ms.output.parameters.

pascal
with SQLQuery1 do begin
      SQL.Text:='declare @param int; declare @ret int;'+
                'exec @ret=MyStoredProc 1, @param OUTPUT;'+
                'select @ret as return_status, @param as out_param';
      Open;
    end;

Quelques conseils de plus :

Messages d'erreur

Error 20009 : Unable to connect: Adaptive Server is unavailable or does not exist

Erreur 20019 : Attempt to initiate a new Adaptive Server operation with results pending

Erreur 20047 : DBPROCESS is dead or not enabled

EINOutError/Can not load DB-Lib client library "dblib.dll". Check your installation

Exemples

Création d'une base de données

L'exemple ci-dessous crée une base de données dans un serveur MS SQL. Pour cela, le paramètre de connection AutoCommit doit être mis à 'On'. Pour les connexion normale suivantes, vous pouvez le basculer à 'Off' à nouveau et utiliser les StartTransaction et Commit normales.

pascal
// Set up a form with a button called DBButton, 
    // textbox called DatabaseNameEdit,
    // '''MSSQLConnection''' called FConn
    // ***make sure the Autocommit parameter is on for the create db part before connectiong:
    //FConn.Params.Add('AutoCommit=true');
    procedure TForm1.CreateDBButtonClick(Sender: TObject);
    var
      CurrentDB: string;
    begin
      if DatabaseNameEdit.Text='' then
      begin
        showmessage('Empty database name. Please specify database name first.');
        exit;
      end;
    
      CurrentDB:=FConn.DatabaseName;
      try
        // For FPC 2.6.1+
        FConn.ExecuteDirect('CREATE DATABASE '+DatabaseNameEdit.Text);
        {
        // This works with FPC 2.7.1, not on 2.6.1
        FConn.CreateDB;
        }
      except
        on E: Exception do
        begin
          showmessage('Exception running CreateDB: '+E.Message);
        end;
      end;
    end;

From the Free Pascal wiki, page "mssqlconn/fr", as the Internet Archive kept it on 2025-03-15, last changed on 2020-02-21. 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.

Version 2, dernière modification par WikiArchive .