Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQLite mit UNIDAC (https://www.delphipraxis.net/147063-sqlite-mit-unidac.html)

AnyKey 1. Feb 2010 10:16


SQLite mit UNIDAC
 
Hi,

ich habe volgendes Problem. Ich will mich mit den UNIDAC Komponenten auf eine SQLite Datenbank verbinden, die Verbindung scheint auch zu funktionieren. Wenn ich allerdings versuche mir eine Tabelle in einem DBGrid anzuzeigen bekomme ich diese Fehlermeldung:

Im Projekt ..... Meldung: 'file is encrypted or is not a database'.

Ich habe beim ersten Versuch die Datenbank mit einem Passwort erzeugt, dieses aber auch bei der Connection angegeben. Beim zweiten Versuch habe ich die Datenbank mal ohne Passwort erstellt, es kommt aber der selbe Fehler.

Ich hoffe es hat jemand eine Idee wie ich das hinbekommen kann, oder wo eventuell ein Fehler liegen könnte.

Komponenten:
Uniconnection, UniTable, UniQuery, UniDataSource und SQLiteUniProvider

Quellcode:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  if Button2.Caption = 'Verbinden' then
  begin
    UniConnection1.Connect;
    if UniConnection1.Connected = True then
    begin
      Button2.Caption := 'Trennen';
      UniTable1.TableName := 'tblTEXTOUT';
      UniDataSource1.DataSet.Active := True; // hier kommt der Fehler!!
      Panel1.Caption := 'tblTEXTOUT';
    end;
  end
  else
  begin
    Button2.Caption := 'Verbinden';
    Panel1.Caption := '';
    UniConnection1.Disconnect;
  end;
end;
Quellcode war nur zum Testen ob das ganze überhaupt funktioniert, da ich es für ein Projekt brauche.

Gruß
AnyKey

RWarnecke 1. Feb 2010 10:33

Re: SQLite mit UNIDAC
 
Wie sind Deine Verbindungseinstellungen im UniConnector ?

P.S. : Könnte das ein Moderator bitte nach Datenbank verschieben.

Grolle 1. Feb 2010 10:39

Re: SQLite mit UNIDAC
 
Hallo,

Unidac unterstützt doch gar keine verschlüsselten bzw. passwortgeschützten SQLite-DB's :gruebel:. Nimm mal eine frische Datenbank ohne Passwort, oder lass Sie mit Unidac erstellen.

Viele Grüße ...

AnyKey 1. Feb 2010 10:41

Re: SQLite mit UNIDAC
 
ConnectDialog =
Connected = False
IOHandler =
LoginPrompt = True
Password = *****
Pooling = False
Port = 0
ProviderName = SQLite
Server =
Tag = 0
Username =

(wo nichts hinter steht ist auch nichts eingetragen :))

Hoffe das hilft weiter.

Edit: Ok, hat sich gerade erledigt! Ich habe noch mal eine neue Datenbank ohne Passwort angelegt, jetzt funktionierts! :D

Danke für eure Hilfe :)

Gruß
AnyKey

AnyKey 1. Feb 2010 10:51

Re: SQLite mit UNIDAC
 
Eine Frage hab ich aber noch.

Grolle, du hast gesagt das man mit den UniDAC Komponenten auch eine Datenbank erstellen kann, wie genau mach ich das? Etwas Beispielcode wäre unter Umständen nicht schlecht, ansonsten reicht mir auch eine Erklärung :)

Gruß
AnyKey

Grolle 1. Feb 2010 11:02

Re: SQLite mit UNIDAC
 
Hallo,

ich zitiere mal aus der Unidac Hilfe:
Zitat:

SQLite creates the database file automatically if it does not exist.
Viele Grüße ...

AnyKey 1. Feb 2010 11:06

Re: SQLite mit UNIDAC
 
Ok :)

dann werde ich mich mal durch die Hilfe arbeiten ;)

Danke noch mal

Gruß
AnyKey

DP-Maintenance 7. Feb 2010 15:05

DP-Maintenance
 
Dieses Thema wurde von "mkinzler" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Datenbanken" verschoben.
Kein Vorschlag zur CL. Sondern eine Frage zu Datenbanken.

MephistoMyRo 11. Feb 2013 00:06

AW: SQLite mit UNIDAC
 
Leider veralten die Einträge ja oft ein wenig, aber da ich heute einmal darüber gestolpert bin und meine Recherche nicht für mich behalten möchte.

Devart hat seit der UniDAC Version 4.3 eine Änderung vorgenommen (Quelle):
Zitat:

24-Jul-12 New Features in UniDAC 4.3:
SQLite data provider

Static linking of SQLite library is added
SQLite database encryption is added
The ForceCreateDatabase option is added
MySQL data provider

HTTP connection is added
ASE data provider

The SelectMethod option is added
Bei SQLite ist nun die spezielle Option "ForceCreateDatabase" hinzugekommen und per Default auf "False" gesetzt.
Über die "SpecificOptions: TSpecificOptionsList" einer "TUniConnection" muss die Option "ForceCreateDatabase" auf "True" gesetzt werden.
Entweder direkt über den Objektinspektor oder mit folgendem Code, der vor dem Öffnen ausgeführt werden muss:
Delphi-Quellcode:
UniConnection1.ProviderName:='SQLite';
UniConnection1.SpecificOptions.Values['ForceCreateDatabase']:='True';
Die Hilfe der UniDAC wird sicherlich auch bald up-to-date sein. :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:33 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