Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Der Eigenschaftswert ist ungültig. überprüfen Sie Ihre Eingabe???? (https://www.delphipraxis.net/178148-der-eigenschaftswert-ist-ungueltig-ueberpruefen-sie-ihre-eingabe.html)

FragenderHerbert 19. Dez 2013 17:50

Datenbank: Paradox • Version: 4.5 • Zugriff über: ODBC

Der Eigenschaftswert ist ungültig. überprüfen Sie Ihre Eingabe????
 
Hallo,

ich beschäftige mich soeben mit ADO, weil ich eine Datenträgerverwaltung aufbauen will. Der Verbindungsstring ist folgender:

Delphi-Quellcode:
Provider=MSDASQL.1;Persist Security Info=False;User ID=Herbert;Mode=ReadWrite;Extended Properties="CollatingSequence=ASCII;DefaultDir=D:\Datenbasis;Driver={Driver do Microsoft Paradox (*.db )};DriverId=538;FIL=Paradox 5.X;FILEDSN=D:\Datenbasis\meinedateien.db;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ParadoxNetPath=C:\WINDOWS.0\System32;ParadoxNetStyle=4.x;ParadoxUserName=admin;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"
Hier noch meine Form-Unit:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, ExtCtrls, DBCtrls, DB, ADODB;

type
  TForm1 = class(TForm)
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    ADOConnection1: TADOConnection;
    DBNavigator1: TDBNavigator;
    DBGrid1: TDBGrid;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.
Was mir jetzt noch auffäält, ist, das ich in DataSource kein Dataset eintragen kann.

ADOTable.MasterSource := DataSource1; im Objektinsprktor
ADOConnection.Connection := ADOConnection1; im Obkektinspektor
ADOConnection1.Connected := true;

Diese letzte Einstellung bleibt zur Entwurfszeit stehen, obwohl mein Kennwort nicht anerkannt wird, denn bei Eingabe desselben erhalte ich die im Titel angegebene Fehlermeldung. Im Connectionstringdialog "Kein Kennwort" ankreuzen hilft nicht weiter.

Wie mache ich es richtig?

Die Datenbank erscheint nicht im DBGrid. SO kann ich auch keine Daten hinzufügen.


Ich favorisiere die ADOs weil die mit den in Windows schon integrierten Datenbanktreibern, (ODBC,...) zusammenarbeiten und ich so keinen separaten Datenbankserver aufsetzen muss.

Die Datenbank soll später an jedem Windows Rechner laufen.

borstenei 19. Dez 2013 18:31

AW: Der Eigenschaftswert ist ungültig. überprüfen Sie Ihre Eingabe????
 
Du beginnst dieses Projekt neu und wählst dazu eine Paradox Datenbank? Das würde ich dringend überdenken!
Paradox Datenbanken laufen auch nicht von selbst auf jedem fremden Rechner, es müssen in der BDE Aliase von Hand angelegt werden und damit sind doch
viele normale Benutzer schon überfordert. Es sei den Du machst das über einen Installer der das für Dich erledigt.
Wähle doch bitte für ein neues Projekt eine aktuelle Datenbank.
Gruß Frank

FragenderHerbert 19. Dez 2013 19:49

AW: Der Eigenschaftswert ist ungültig. überprüfen Sie Ihre Eingabe????
 
Hmmm, aber Danke erst mal!

Welche Datenbank nimmt man da heute?

Habe da leider NULL Erfahrung. Hatte mir das doch einfacher vorgestellt, zumal die ADOs mir die Hoffnung gaben, leichter davon zu kommen, was nun so wohl doch nix wird. Schade.

Aber was ist da heuzutage zu empfehlen?

borstenei 19. Dez 2013 20:07

AW: Der Eigenschaftswert ist ungültig. überprüfen Sie Ihre Eingabe????
 
So pauschal kann man nicht sagen was Du nehmen sollst, kommt auf den Fall an.
Ich selber arbeite viel mit ADO und Access , UniDAC und MySQL allerdings mehr im privaten Umfeld.
Vielleicht schilderst Du mal was Du vorhast, dann könnte Dir hier der ein oder andere Datenbankexperte etwas empfehlen.

Bernhard Geyer 19. Dez 2013 22:26

AW: Der Eigenschaftswert ist ungültig. überprüfen Sie Ihre Eingabe????
 
Zitat:

Zitat von FragenderHerbert (Beitrag 1240427)
Welche Datenbank nimmt man da heute?
...
Aber was ist da heuzutage zu empfehlen?

Was man nimmt kommt immer darauf an.
Aber was man nicht nicht ist klar. Auf jeden Fall keine Paradox oder dBase und ADO nur für den Zugriff auf Access oder den MS SQL-Server.
Wobei MS eh schon wieder ADO abgekündigt hat und den Zugriff direkt über ODBC empfiehlt.

jaenicke 19. Dez 2013 22:30

AW: Der Eigenschaftswert ist ungültig. überprüfen Sie Ihre Eingabe????
 
Welche Delphiversion benutzt du denn?

Ich vermute einmal Firebird Embedded dürfte passend sein. Kein installierter Server, nur die Datenbankdateien und DLLs.

FragenderHerbert 20. Dez 2013 07:09

AW: Der Eigenschaftswert ist ungültig. überprüfen Sie Ihre Eingabe????
 
Ich verwende Turbo Delphi, die portable Version, weil mir das Installieren der nicht portablen Version wegen der nötigen PreRegs zu stressig ist. Und Delphi 7 Enterprise. Weil in letzterer der Connection String der ADO Table vom Objektinspektor aus festgelegt werden kann, habe ich mich für D7 entschieden.

Ich möchte eine Datenträgerverwaltung bauen, die mir sagt, auf welchem meiner Datenträger ich die momentan gesuchte Datei (Foto, Programm, .zip-Datei,... gespeichert habe.

Ich kenne SuSE Linux. Dort gibt es auf der ersten CD einen ähnlichen Manager, der mir alle installierbaren Programme anzeigt. Wenn ich dann eines davon installieren will, erhlte ich eine Meldung mit der Auskunft, welche Installations CD ich dafür einlegen muss. Also muss die Datenbak ja wissen, auf welcher CD sich das gesuchte Paket befindet.

Ich möchte nun so einen Manager haben, um nach Eingabe des Namens der Datei, des Fotoordners, des Softwarenamens,... denjenigen Datenträger (USB-Stick-1, DVD-2, Diskette-5,... oder was auch immer zu erhalten, um so die gesuchte Datei immer griffbereit zu haben, egal, auf welchem externen Datenträger ich die Datei abgelegt habe.

mkinzler 20. Dez 2013 07:12

AW: Der Eigenschaftswert ist ungültig. überprüfen Sie Ihre Eingabe????
 
Zitat:

ParadoxNetPath=C:\WINDOWS.0\System32
ist m.E. auch nicht so geschickt

FragenderHerbert 20. Dez 2013 07:21

AW: Der Eigenschaftswert ist ungültig. überprüfen Sie Ihre Eingabe????
 
@mkinzler:

Meinst Du, wegen Windows.0 oder wegen System32?

[OT]
Windows.0 ist wegen Neuinstallation von Windows. Hatte Reparaturinstallation geplant und wollte deshalb meine Partition nicht löschen. So hat mir der Windows Installer ein neues Verzeichnis Windows.0 angelegt und da alles reinkopiert.

Wenn man dann halt immer wüßte, was installierte Programme wo hin schreiben, sollte eine komplettreparatur von Windows möglich sein.
[/OT]

Wie schon gesagt, ich habe mir den Connection String von Delphi erzeugen lassen.

Was enthält der ParadoxNetPath überhaupt?

meine Datendateien? dann sollte ich den wohl auf mein Verzeichnis setzen.

Paradox Systemdateien? Warum dann ungünstig?

.

nahpets 20. Dez 2013 12:31

AW: Der Eigenschaftswert ist ungültig. überprüfen Sie Ihre Eingabe????
 
Zitat:

Zitat von borstenei (Beitrag 1240423)
Du beginnst dieses Projekt neu und wählst dazu eine Paradox Datenbank? Das würde ich dringend überdenken!
Paradox Datenbanken laufen auch nicht von selbst auf jedem fremden Rechner, es müssen in der BDE Aliase von Hand angelegt werden und damit sind doch
viele normale Benutzer schon überfordert. Es sei den Du machst das über einen Installer der das für Dich erledigt.
Wähle doch bitte für ein neues Projekt eine aktuelle Datenbank.
Gruß Frank

Diese Aussage ist so nicht richtig. Über ADO kann man durchaus ohne BDE auf Paradox, dbase... zugreifen, da Microsoft entsprechende Treiber liefert.
In der ODBC-Verwaltung unter Treiber leicht nachvollziehbar (zumindest bis Windows XP).
Den Connectionstring kann man mit relativen Pfadangaben so gestalten, dass vom Anwender keine Konfiguration erforderlich ist (z. B: bei einer protablen Programmversion die Datenbankdatei(en) in ein Data-Verzeichnis unterhalb der EXE legen...)

Zuweisung der Datenbankkomponenten:
Delphi-Quellcode:
AdoTable1.Connection    := ADOConnection1;
DataSource1.DataSet     := AdoTable1;
DBGrid1.DataSource      := DataSource1;
ADOConnection1.Connected := true;
AdoTable1.Open;
Nutzung von ADO:

Vorteil:
(zur Zeit) auf allen Windowsrechnern vorhanden.
Es kann auf alle Datenbanken zugegriffen werden, die über ODBC erreichbar sind. Von welchem Hersteller der Datenbanktreiber stammt, ist hierbei irrelevant.
Kein Mitliefern von irgendwelchen DLL's... erforderlich.

Nachteil:
nicht zwingend schnell.
Paradox, Dbase sind über die veraltete BDE schneller (aber das Thema hat sich inzwischen [weitgehend] erledigt.
Zugriffe auf z. B. Oracle sind über spezielle Zugriffskomponenten für Oracle schneller als über ADO.
ADO wird ebenso (wie früher oder später alle anderen Zugriffsmöglichkeiten) durch was neueres und/oder besseres abgelöst werden. Unter dieser Prämisse hätte man die BDE auch nie einsetzen dürfen, da ja die Möglichkeit bestand, dass es sie irgendwann nicht mehr geben könnte ;-) (Welche weiteren, jemals mit Delphi mitgelieferten, Zugriffsmöglichkeiten haben seit "Anbeginn" bis heute noch bestand?)
Die absolut immer zukunftssichere Zugriffsmöglichkeit für Datenbanken wird es nicht geben, solange in der EDV noch Weiterentwicklungen stattfinden ;-)

Fazit: Für Datenbankzugriffe nutze man bitte das, was nach derzeitigem Kenntnisstand bei den vorhandenen Mitteln und Werkzeugen die beste und zukunftssicherste Möglichkeit zu sein scheint.

Für die aktuelle Aufgabenstellung scheinen mir da ADO und Paradox durchaus geeignet.
Alternativ wäre auch ADO und Access eine Möglichkeit.
Bei Paradox werden mehrere Datenbankdateien erstellt, Access hat "alles in einer", ist bei der Portabilität eventuell einfacher und benötigt keine zusätzlichen Verzeichnisse... irgendwo mitten in den Verzeichnissen des Betriebssystems (wie z. B. ParadoxNetPath=C:\WINDOWS.0\System32;)

Access und Paradox sind nicht wirklich ein "Datenbanken", aber für die Aufgabenstellung durchaus ausreichend und aus Delphi (7) heraus ohne weitere Hilfsmittel, DLLs... auch für "Laien"-Programmierer nutzbar. Zum Einstieg in ein erstes Datenbankprogramm und zum Sammeln erster Erfahrungen vollkommen ausreichend.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz