SAP SQL Anywhere und Delphi

anleitung als pdf

Die Anleitung sollte ihnen ermöglichen sich über Delphi mit dem SQL Anywhere Server zu verbinden. Sie öffnen die Delphiumgebung und erstellen ein neues Projekt. Sollten Sie das nicht auf ihrer Willkommensseite sehen, können Sie auf der oberen Leiste zu “Daten -> Neu->Weitere…“ hin navigieren.

Es sollte sich ein Fenster öffnen, mit dem Sie die Art des Projekts aussuchen können. Wir werden hierzu im Bereich “Delphi-Projekte“ das Projekt für eine “Windows-VCL-Anwendung“ erstellen.

Nachdem Sie das Projekt erstellt haben, finden Sie unten rechts eine Palette an Tools, die Sie zu dem VCL-Fenster hinzufügen können. Suchen Sie da nach der“ TADOConnection“ und platzieren das in das Formular.

Bevor Sie einen Verbindungsstring für der “ADOConnection“ hinzufügen, sollten Sie zuerst eine ODBC-Source einstellen, die zu einem SQL Anywhere Server verbindet. Achten Sie darauf, dass Sie bei der ODBC-Datenquelle die 32-Bit Version verwenden.

Wechseln Sie den Reiter von Benutzer-DSN auf System-DSN und fügen Sie dort eine DSN hinzu.

Wählen Sie im Fenster “SQL Anywhere 17“ und drücken Sie dann “Fertig Stellen“.

Darauffolgend öffnet sich ein neues Fenster. Dort können Sie den Namen der Datenquelle eintragen. Danach wechseln Sie auf den Reiter Login. Dort können Sie die ID und das Passwort zu einem Server eintragen. Damit Sie die Verbindung testen können geben Sie bei dem ID: “sa“ und tragen Sie das vergebene Passwort ein. Auf dem Reiter ODBC können Sie testen, ob die Verbindung funktioniert.

Nachdem Sie die Einstellung vorgenommen haben können Sie in der “TADOConnection“ den Connection-String einstellen. Sie sollten bereits die “TADOConnection“ in das Form-Fenster hineingezogen haben. Sollte dies nicht der Fall sein, können Sie es unten rechts in der Palette suchen und es in den Form-Fenster hinzuziehen.
Sie können einen Doppelklick auf der Komponente vornehmen oder führen einen Rechtsklick aus und wählen die Option “Verbindungs-String bearbeiten“.

Um ODBC in dem Verbindungs-String zu verwenden, klicken Sie auf den Knopf “Aufbauen…“.

Wählen Sie in dem Fenster “Microsoft OLE DB Provider for ODBC“ und drücken auf den Knopf “Weiter >>“.
Beim ersten Einstellungspunkt sollten Sie die Option “Datenquellennamen verwenden“ und ihre eingestellte ODBC-Verbindung auswählen. Optional können Sie die Logindaten für den SQL Anywhere Server eingeben und die Verbindung testen.

Bestätigen Sie die zwei Fenster mit “OK“. Nachdem Sie wieder die Form-Fenster sehen, fügen Sie einen Knopf hinzu. Sie können den Knopf in der Palette unter dem Namen “TButton“ finden oder Sie machen einen Rechtsklick in das Fenster und wählen die “Steuerelement hinzufügen-> Schaltfläche“ aus.

Sie können mit F12 oder mit einem Doppelklick auf den Knopf in den Code vom VCL-Anwendung wechseln.

Sie können folgenden Code verwenden, um die Verbindung zu testen:

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Data.DB, Data.Win.ADODB;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  AdoConnection : TADOConnection;

    const
       ConnectionStr ='Provider=MSDASQL.1;Persist Security Info=False;Data Source=< Datenquellennamen >';

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
procedure ConnectServer(DataBase:string);
begin
    ShowMessage('Verbindung zum Server wird hergestellt');
    AdoConnection:=TADOConnection.Create(nil);
    AdoConnection.LogInPrompt:=False;
    AdoConnection.ConnectionString:=Format(ConnectionStr,['< Server >',dataBase,< UID >,
< Passwort >]);
    AdoConnection.Connected:=True;
end;

procedure ReadData;
var AdoQuery: TADOQuery;
begin
   AdoQuery:=TADOQuery.Create(nil);
   try
    AdoQuery.Connection:=AdoConnection;
    AdoQuery.SQL.Add('SELECT * FROM < Tabelle >);
    AdoQuery.Open;
    while not AdoQuery.eof do
        begin
       
ShowMessage(Format('%< datentyp >,%< datentyp >,…',[AdoQuery.FieldByname('< Spalte >').asInteger
AdoQuery.FieldByname('< Spalte >').asString,AdoQuery.FieldByname('< Spalte >').asString]));
           AdoQuery.Next;
        end;
   finally
     AdoQuery.Free;
   end;
end;

procedure disconnectServer;
begin
if ADoConnection.Connected then
    AdoConnection.Close;
    AdoConnection.Free;
    ShowMessage('Verbindung zum Server getrennt');
end;

begin
  try
  ShowMessage('Init');
    Try
    ConnectServer('SQL Anywhere 17');
    ReadData;
    disconnectServer;
excepion
    on E : Exception do
    ShowMessage(E.Classname + ' , ' + E.Message);
end;
  finally
  end;
end;

end.

Sollten Sie bereits in der Datenquelle die UID und das Passwort eingetragen haben, können Sie im Code die UID und Passwort auslassen. Sie können nun die Anwendung starten und testen, ob sich die Daten aufrufen lassen.

Sie sollten in den Dialogboxen die entsprechenden Daten ihrer Datenbank sehen können.