geht MS-SQL Compact unter C++Builder und Delphi?



  • Hi,

    ich poste meine Frage noch mal hier, da im VCL-Forum anscheinen noch keiner damit gearbeitet hat.

    weiss von Euch jemand ob und wie unter Delphi und C++Builder mit "MS-SQL Compact" zu arbeiten ist? Wird das über die ADO-Komponenten unterstützt oder muss man DB-Express nehmen und lohnt das von der Leistung bzw. Geschwindigkeit her da von Access umzusteigen.
    Unterstützt SQL Server Compact Proceduren und Trigger und kann man es ohne einen Server zu installieren einfach aus Borland-Anwendungen benutzen. Bei MS-Entwicklungsumgebungen soll es mit ein paar DLLs laufen. Kann man die auch unter C++-Builder und Delphi verwenden, oder brauchts da eines richtigen Datenbankzugriffs. Es müsste möglichst unter Delphi und C++ Professionel funktionieren (mehr hab ich hier nicht und auch kurzfristig keine Chance mehr zu kriegen).

    Wäre schön, wenn von Euch da jemand Erfahrung mit hat.

    Vielen Dank schon immer
    Gruß Mümmel



  • Hi,

    entgegen den sonst hier gewohnten schnellen Antworten hier noch nicht eine Antwort? Hat das wirklich noch keiner gemacht, kann es sein, daß Borlands Nachfolger Embarcadero da was verschlafen hat.

    Angeblich will Microsoft ja die Nutzer langsam von Access weglocken (keine Ahnung warum, vielliecht wird es denen auf die Dauer zu teuer mehrere Datenbanksysteme parallel zu entwickeln).

    Eigentlich sollte Embarcadero da ein bisschen mehr Aktivitäten zeigen. Letztlich ist heute fast jede professionelle Anwendung irgendwo auch ein bisschen eine Datenbankanwendung.

    Letztlich hat ja Embarcadero mit Blackfish SQL auch nicht den tollen Überflieger kreiert. Kann es sein, daß man da ein wenig den Kontakt zur Spitze zu verlieren in Begriff ist. Sicher die teureren Produkte (Architekt...) unterstützen auch Oracle... aber für viele kleine Anwendungen ist das etwas mit der Kanone auf Spatzen geschossen.

    Wie seht Ihr das?

    Gruß Mümmel



  • Klar wird das über die ADO-Komponenten unterstützt, einfach den ConnectionString anpassen:
    http://www.connectionstrings.com/sql-server-2005-ce#p10

    muemmel schrieb:

    entgegen den sonst hier gewohnten schnellen Antworten hier noch nicht eine Antwort? Hat das wirklich noch keiner gemacht, kann es sein, daß Borlands Nachfolger Embarcadero da was verschlafen hat.

    Liegt wohl daran das dein Problem zu C++ Builder spezifisch ist und daher hättest du lieber im VCL Forum posten sollen.

    muemmel schrieb:

    Eigentlich sollte Embarcadero da ein bisschen mehr Aktivitäten zeigen. Letztlich ist heute fast jede professionelle Anwendung irgendwo auch ein bisschen eine Datenbankanwendung.

    Ist doch alles vorhanden!, Embarcadero hat für den Datenbankzugriff die BDE(alt), dbGO (ADO) und dbExpress (Zugriff je nach Version zu verschiedenen Datenbanken) zur Auswahl dann gibt es noch 3th Party Zugriffskomponenten ZEOS, KADAO, MyDAC usw.
    Was fehlt dir da bitte noch?

    muemmel schrieb:

    Letztlich hat ja Embarcadero mit Blackfish SQL auch nicht den tollen Überflieger kreiert.

    Da verwende ich auch lieber SQLite statt mich mit den Lizenzen rumschlagen zu müssen. Hast auch vergessen InterBase zu erwähnen.



  • muemmel schrieb:

    Hi,

    ich poste meine Frage noch mal hier, da im VCL-Forum anscheinen noch keiner damit gearbeitet hat.

    Liegt wohl daran das dein Problem zu C++ Builder spezifisch ist und daher hättest du lieber im VCL Forum posten sollen.

    👍 Gut gelesen 🤡



  • Hihi schrieb:

    muemmel schrieb:

    Hi,

    ich poste meine Frage noch mal hier, da im VCL-Forum anscheinen noch keiner damit gearbeitet hat.

    Liegt wohl daran das dein Problem zu C++ Builder spezifisch ist und daher hättest du lieber im VCL Forum posten sollen.

    👍 Gut gelesen 🤡

    ja habe ich gelesen und wenn du dir den Beitrag im VCL_Forum anschaust, könnte man wenn man unhöflich ist auf die Seite http://www.justfuckinggoogleit.com/ verweisen oder eben nicht drauf Antworten 😃



  • Hi VergissEs,

    vielen Dank für Den Link. Allerdings war ich da auch schon mal gelandet. Nur hilft mir das allein auch nicht wirklich weiter. Sicher, ein passender Connectionstring ist die halbe Miete. Aber wie Du sicher gesehen hast, bezog sich das auf die NET-Framework-Anwendungen. Die werden ja "wissen", wie man mit MS-Datenbanken umgeht. Aber zu den Borland-Produkten hab ich da nichts gefunden. Es ist ja nicht so, daß der Connectionstring allen schon die Arbeit macht. da MS SQL Compact nicht mit herkömmlichem Server läuft, sondern dafür ein paar DLLs benutzt, müssen ja Compiler und Linker irgendwie erfahren was sie tun sollen.
    Leider kann ich das nicht mal so auf die Schnelle probieren, da ich keine sdf-Datei habe. Und mein Access bietet leider auch keine Möglichkeit an, wie ich vorhandene Tabellen nach sdf speichern kann.
    Du kannst mir ruhig glauben, Google hab ich schon benutzt. Aber eben nichts gefunden was mitr konkret weiterhilft. Und anscheinend sind andere hier auf der Strecke auch noch nicht weiter.
    Was Deine Aussage betrifft, daß mit DB-Express DbGo BDE... ja alles da ist - die BDE ist doch nur noch da, damit alter Projekte noch irgendwie übersetzbar sind. Die wird schon seit Jahren nicht mehr gepflegt. DBExpress ist sicher vom Datendurchsatz her leistungsfähig, aber sehr unkomfortabel. DbGo ist für mich schon das gegebene, auch wenn der Datendurchsatz durch den Flaschenhals ADO recht gering ist. Aber vieles läst sich ja mit SQL-Befehlen auf der Datenbank direkt machen.
    Interbase ist auch eine sehr leistungsfähige Lösung, erfordert aber auch einen Server was für meien Zweck nicht in Frage kommt. Außerdem ist die SQL-Syntax vom Rest sehr verschieden.
    Und Fremdkomponenten wie Kadao, Zeos kann ich aus organisatorischen Gründen nicht verwenden. Also muß es irgendwie gehen.
    Aber ich hätte von Embarcadero da doch schon ein wenig Reaktion dahingehend erwartet, daß sie was über Zugriff auf SQL compact publizieren. Leider eben nichts gefunden.

    Gruß Mümmel



  • muemmel schrieb:

    vielen Dank für Den Link. Allerdings war ich da auch schon mal gelandet. Nur hilft mir das allein auch nicht wirklich weiter. Sicher, ein passender Connectionstring ist die halbe Miete. Aber wie Du sicher gesehen hast, bezog sich das auf die NET-Framework-Anwendungen. Die werden ja "wissen", wie man mit MS-Datenbanken umgeht. Aber zu den Borland-Produkten hab ich da nichts gefunden. Es ist ja nicht so, daß der Connectionstring allen schon die Arbeit macht. da MS SQL Compact nicht mit herkömmlichem Server läuft, sondern dafür ein paar DLLs benutzt, müssen ja Compiler und Linker irgendwie erfahren was sie tun sollen.

    Wie soll sich deiner Meinung nach der ConnectionString unterscheiden zwischen ADO.NET und ADO im C++ Builder?
    Wie soll die TADOConnection ohne ConnectionString wissen welche Datenbank/Datenbankformat/Treiber geöffnet werden soll?

    muemmel schrieb:

    Leider kann ich das nicht mal so auf die Schnelle probieren, da ich keine sdf-Datei habe. Und mein Access bietet leider auch keine Möglichkeit an, wie ich vorhandene Tabellen nach sdf speichern kann.

    Na dann erstell doch eine z.B. mit Microsoft SQL Server Management Studio!
    Wie soll den TADOConnect auf eine nicht existierende Datenbankdatei zugreifen?

    muemmel schrieb:

    DbGo ist für mich schon das gegebene, auch wenn der Datendurchsatz durch den Flaschenhals ADO recht gering ist. Aber vieles läst sich ja mit SQL-Befehlen auf der Datenbank direkt machen.

    Keine Ahnung wie du daraufkommst das ADO ein Flaschenhals hat evtl. verwechselst du das mit ODBC?

    muemmel schrieb:

    Und Fremdkomponenten wie Kadao, Zeos kann ich aus organisatorischen Gründen nicht verwenden.

    Na dann kommt ja sicher auch nicht die schlanke SQLite Datenbank in Frage oder Firebird Embedded.

    muemmel schrieb:

    Aber ich hätte von Embarcadero da doch schon ein wenig Reaktion dahingehend erwartet, daß sie was über Zugriff auf SQL compact publizieren. Leider eben nichts gefunden.

    Wie, du meinst jetzt, Embarcadero soll dir zeigen wie du eine Microsoft sdf Datenbank erstellst, dann mit dem ConnectionString="Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;..." über die TADOConnect Komponente verbindest?
    Wie hast du es damals geschafft die Access mdb Datenbankdatei zu erstellen bzw. zu verwenden?


Anmelden zum Antworten