Zeos > ODBC-Datenquelle > MsSQL (oder Zeos > MsSQL) [Gelöst]

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Zeos > ODBC-Datenquelle > MsSQL (oder Zeos > MsSQL) [Gelöst]

Beitrag von MmVisual »

Hallo,

Ich schaffe es nicht. Viele Treiber, gefühlt je Treiber zig Häkchen und daraus resultierend 1000de Möglichkeiten, egwas was ich einstelle, es kommt immer eine andere Fehlermeldung und die Verbindung geht nicht richtig.
Daher suche ich einmal hier Hilfe um eine Lösung zu finden die dann geht.

Ich habe bei den ODBC Datenquellen diverse Treiber für MsSQL installiert:
Bild1.png
Bild1.png (35.79 KiB) 4081 mal betrachtet
Bei der Zeos Komponente gibt es wohl 5 mögliche Optionen wie man das ganze nutzen kann:
Bild2.png
Bild2.png (11.79 KiB) 4081 mal betrachtet
Im Firmennetzwerk wird eine EXE von der IT blockiert wenn man direkt per TCP/IP Port 1433 auf den SQL Server nativ zugreifen möchte (sybdb.dll), der Konzern ist da ziemlich streng.
Mit HeidiSQL hatte ich herausgefunden dass "MSOLEDBSQL" einfach funktioniert, ohne in den ODBC-Datenquellen etwas ein zu tragen.

Wie kann ich das nun mit Zeos hin bekommen?

Ich hatte von Zeos V7.x auf nun Zeos V8 geupdatet und nutze nun auch Lazarus V4 RC3.

Vielen Dank für Tipps.

VG Markus
Zuletzt geändert von MmVisual am Fr 28. Mär 2025, 17:02, insgesamt 1-mal geändert.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6848
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Zeos > ODBC-Datenquelle > MsSQL (oder Zeos > MsSQL)

Beitrag von af0815 »

Die erste Frage ist: was ist am SQL Server bei den Protokollen konfiguriert? Und hast du Einfluss auf die Protokolle dort ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Zeos > ODBC-Datenquelle > MsSQL (oder Zeos > MsSQL)

Beitrag von MmVisual »

Das kann ich leider nicht wirklich beantworten. Ich habe darauf keinen Zugriff, das läuft alles über die Admins.

Um das ganze irgendwie nachvollziehen zu können habe ich auf meiner Discstation in einem Docker Image eine MsSQL Server installiert.
Mit meiner alten EXE, mit Zeos V7 kamm ich da mit dem FreeTDS Treiber drauf, jedoch den gibt es nun nicht mehr mit ZeosV8.
Mit Zeos V8 ist das neu vermutlich "OleDB"

Mit HeidiSQL komme ich mit diesen Einstellungen problemlos auf den SQL Server drauf:
Bild3.png
Bild3.png (19.77 KiB) 4069 mal betrachtet
Wenn ich die gleichen Parameter bei Zeos eingebe, dann mag er die Verbindung nicht aufbauen.
Bild4.png
Bild4.png (28.17 KiB) 4069 mal betrachtet
Daher, habt ihr schon mal geschafft mit Zeos V8 eine MsSQL Verbindung her zu stellen?

Edit: Die Version von meinem SQL Server zu Testzwecken ist (SELECT @@version):

Code: Alles auswählen

Microsoft SQL Server 2017 (RTM-CU13) (KB4466404) - 14.0.3048.4 (X64) 
	Nov 30 2018 12:57:58 
	Copyright (C) 2017 Microsoft Corporation
	Developer Edition (64-bit) on Linux (Ubuntu 16.04.5 LTS)
Vielen Dank, VG Markus
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6848
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Zeos > ODBC-Datenquelle > MsSQL (oder Zeos > MsSQL)

Beitrag von af0815 »

Könnte sinnvoll sein, die Frage direkt im ZEOS Forum zu stellen.

BTW: Wenn du bei HeidiSQL den Port von 0 auf 1433 umstellst, geht es dann auch ? Nicht das HeidiSQL auf ein anderes Protokoll ausweicht :-) Weil der SQL Server kann auch Named Pipes statt direkter Kommunikation über Ports.

Ansonsten bin ich mit Zeos 8.0 überfragt, weil ich noch 7.x für die Kommunikation zum MS-SQLServer verwende und nichts mehr umstelle.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Zeos > ODBC-Datenquelle > MsSQL (oder Zeos > MsSQL)

Beitrag von MmVisual »

Port 1433 bei HeidiSQL geht auch. Also bei HeidiSQL macht es keinen Unterschied ob man Port 0 oder Port 1433 eingibt. Ich vermute mal HeidiSQL macht automatisch 1433 wenn man Port 0 angibt, damit es der User einfacher hat.

Ich habe bis vor wenigen Tagen ebenfalls Zeos V7 eingesetzt (und ich war damit sehr glücklich). Doch nun, weil es in der Firma nicht ging, hänge ich mich sozusagen an jeden Strohhalm um an das Ziel zu kommen.

Hast du mit Zeos 7 eine Lösung, ohne die "sybdb.dll" mit FreeTDS zu nutzen? Also mit anderen Wegen?
EleLa - Elektronik Lagerverwaltung - www.elela.de

paweld
Beiträge: 91
Registriert: So 11. Jun 2023, 16:01
OS, Lazarus, FPC: Lazarus trunk, FPC fixes

Re: Zeos > ODBC-Datenquelle > MsSQL (oder Zeos > MsSQL)

Beitrag von paweld »

Das OleDB-Protokoll funktioniert sehr gut mit MSSQL - Bedingung: Sie müssen ZEOS Version 8 installieren.
Ein Beispiel ist beigefügt - prüfen Sie, ob es bei Ihnen funktioniert.
Dateianhänge
Project1.zip
(4.62 KiB) 73-mal heruntergeladen
Grüße / Pozdrawiam
paweld

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Zeos > ODBC-Datenquelle > MsSQL (oder Zeos > MsSQL)

Beitrag von MmVisual »

Vielen Dank für das Demo, das hat bei mir nun auf Anhieb funktioniert :D

Genau das ist die Zeile die es braucht:

Code: Alles auswählen

conn.HostName := '192.168.1.1';
conn.Database := 'testdatabasename';
conn.User := 'sa';
conn.Password := 'SuberGeheimesPasswort';
conn.Database := Format('Provider=MSOLEDBSQL.1;Server=%s;Database=%s;UID=%s;PWD=%s;MARS Connection=true;', [conn.HostName, conn.Database, conn.User, conn.Password]);
EleLa - Elektronik Lagerverwaltung - www.elela.de

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Zeos > ODBC-Datenquelle > MsSQL (oder Zeos > MsSQL) [Gelöst]

Beitrag von MmVisual »

Es gibt unterschiedliche Connection Strings, je nach SQL Server und installiertem Driver unterscheiden die sich.

Treiber zum Download:
https://learn.microsoft.com/en-us/sql/c ... rver-ver16

Connection Strings Beispiele:
https://www.connectionstrings.com/ole-d ... ql-server/
EleLa - Elektronik Lagerverwaltung - www.elela.de

Antworten