AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Schwerwiegender Fehler, TClientDataSet
Thema durchsuchen
Ansicht
Themen-Optionen

Schwerwiegender Fehler, TClientDataSet

Ein Thema von u880 · begonnen am 27. Jul 2017 · letzter Beitrag vom 31. Jul 2017
Antwort Antwort
Seite 1 von 2  1 2      
u880

Registriert seit: 7. Okt 2015
Ort: Brandenburg
21 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Schwerwiegender Fehler, TClientDataSet

  Alt 27. Jul 2017, 09:41
Ich erarbeite mir ein Video.
https://www.youtube.com/watch?v=416qL6is5Xw

Um auf eine einfache SQLite DB zugreifen zu können möchte ich
das TClientDataSet in der Property Activ auf true setzen.

--> im Video Minute 3:24 min.
Aber genau da tritt bei mir der schwerwiegende Fehler auf.

Ich arbeite in einer VM und habe die SQLite Datenbank direkt in das Projektverzeichnis kopiert.
Beim Erstellen der SQLConnection wurde die Verbindung zur Datenbank als absoluter Datenpfad eingetragen und mit Erfolg getestet.

Da ich das ClientDataSet nicht aktivieren k a n n , ist mein TGrid natürlich ohne Inhalt.

Was mache ich falsch?
Wie kann ich den Fehler eingrenzen?

Da ich mir das Video erarbeite, um meine Kenntnisse zu vertiefen, ist mir der Fehler zwar recht,
aber es fehlt mir der Denkansatz.

Hier
http://docs.embarcadero.com/products...et_Active.html

steckt sicher die Lösung, aber WO?

Wer mir helfen kann, bitte frei heraus mit der Meinung.
  Mit Zitat antworten Zitat
Benutzerbild von MEissing
MEissing

Registriert seit: 19. Jan 2005
Ort: Egelsbach
1.384 Beiträge
 
Delphi 12 Athens
 
#2

AW: Schwerwiegender Fehler, TClientDataSet

  Alt 27. Jul 2017, 10:02
--> im Video Minute 3:24 min.
Aber genau da tritt bei mir der schwerwiegende Fehler auf.
Wie lautet denn der Fehler?
Matthias Eißing
cu://Matthias.Eißing.de [Embarcadero]
Kein Support per PN
  Mit Zitat antworten Zitat
u880

Registriert seit: 7. Okt 2015
Ort: Brandenburg
21 Beiträge
 
Delphi 10 Seattle Professional
 
#3

AW: Schwerwiegender Fehler, TClientDataSet

  Alt 27. Jul 2017, 12:05
Danke für die Rückfrage.
Den schwerwiegenden Fehler kann ich nicht mehr erzeugen...die Datenbank habe ich inzwischen gelöscht und die Endung umbenannt.

Sie hatte die Endung *.sqlite3 von mir so festgelegt (kannte ich von Java)
Inzwischen habe ich eine neue kleine DB angelegt mit der Endung *.db, wie auch im Video gezeigt.

Diese Datenbank liegt zur Zeit auf einem Netzlaufwerk.
Der absolute Pfad ist gesetzt, die Verbindung positiv getestet.
Leider wird der Zugriff auf die interne Tabelle person nicht ermöglicht.

Fehlermeldung Externe Exception C06D007F
bei Doppelklick auf Tabellen unterhalb meiner Verbindung im Daten-Explorer

Hahaha - Lösung:
https://www.youtube.com/watch?v=2TrJ0PJvxRc
Die SQlite.dll habe ich wirklich noch nicht hinterlegt.

Der grundsätzliche Fehler war jedoch zuvor die falsche Endung der DB.
Richtig muß sie heißen *.db

Vielen Dank für's Nachfragen.
  Mit Zitat antworten Zitat
u880

Registriert seit: 7. Okt 2015
Ort: Brandenburg
21 Beiträge
 
Delphi 10 Seattle Professional
 
#4

AW: Schwerwiegender Fehler, TClientDataSet

  Alt 27. Jul 2017, 12:58
leider ist es nicht die komplette Lösung.
Im Verzeichnis Emarcadero....bin/ lag schon eine sqlite3.dll

Wo muß die sqlite3.dll abgelegt werden?
Ich habe sie in das Verzeichnis der Datenbank kopiert.

Der Fehler lautet trozdem noch Externe Exception C06D007F.
Will ich eine neue Tabelle gleichen Namens anlegen, wird das verwehrt.
Was passt da nicht?
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

AW: Schwerwiegender Fehler, TClientDataSet

  Alt 27. Jul 2017, 13:02
Die DLL muss entweder im Suchpfad oder im Programmverzeichnis liegen.
  Mit Zitat antworten Zitat
u880

Registriert seit: 7. Okt 2015
Ort: Brandenburg
21 Beiträge
 
Delphi 10 Seattle Professional
 
#6

AW: Schwerwiegender Fehler, TClientDataSet

  Alt 27. Jul 2017, 13:32
Was ist der Suchpfad?
Vielen Dank.

https://www.delphi-treff.de/tutorial...d-dbexpress/3/

Ich arbeite in einer VM. Dort tauchen sqlite3.dll vom 09.11.2016 auf mit einer Größe von 616 kB.
Mein sqlite3.dll Treiber (direkt von sqlite.org heruntergeladen) hat nach dem entpacken 1,6 MB.

Was mache ich falsch?

Geändert von u880 (27. Jul 2017 um 15:06 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

AW: Schwerwiegender Fehler, TClientDataSet

  Alt 27. Jul 2017, 14:47
Der Suchpfad ist eine Aneinanderreihung von Pfaden, in denen das Betriebssystem nach Programmen, DLLs, ... sucht, sofern es sie nicht alleine über den Dateinamen ermitteln kann. Erst wenn diese Suche erfolglos ist, wird eine Fehlermeldung ausgegeben.

Kann in der Systemsteuerung bei den Umgebungsvariabeln eingesehen und auch geändert werden.

Aus der Kommandozeile einfach mal PATH eingeben und Enter drücken, dann sollte er angezeigt werden.

Mit Delphimitteln lesen:ShowMessage(GetEnvironmentVariable('PATH'));

Funktioniert seit DOS-Zeiten so.

Ansonsten einfach mal mit der Suchmaschine eigener Wahl danach suchen.
  Mit Zitat antworten Zitat
u880

Registriert seit: 7. Okt 2015
Ort: Brandenburg
21 Beiträge
 
Delphi 10 Seattle Professional
 
#8

AW: Schwerwiegender Fehler, TClientDataSet

  Alt 27. Jul 2017, 15:26
Umgebungsvariablen, PATH habe ich in der Workstation eingestellt, muß ich wohl auch in der VM testen.
  Mit Zitat antworten Zitat
u880

Registriert seit: 7. Okt 2015
Ort: Brandenburg
21 Beiträge
 
Delphi 10 Seattle Professional
 
#9

AW: Schwerwiegender Fehler, TClientDataSet

  Alt 28. Jul 2017, 09:55
So. Ich habe inzwischen sqlite3 von der Website https://www.sqlite.org/ in die VM heruntergeladen.
SQlite3 ist installiert.
Der PATH ist auf den Standort eingestellt (Laufwerk C:\... in derVM)
Ich habe den Pfad in der CMD auf den Ordner meines Projektes gesetzt und dann sqlite gestartet.
Im weiteren habe ich nach Anleitung aus dem Video, die testdb.db im Ordner meines Projektes erstellt.
Delphi Berlin 10.1 Architect wurde in der VM neu gestartet.

Beim Zugriff auf die Tabellen im Daten-Explorer erscheint der Fehler "Externe Exception C06D007F", obwohl der PATH den Suchpfad zum Treiber enthält und sqlite3 in der CMD läuft.

Details:
Code:
[7637B802]{KERNELBASE.dll} RaiseException + $62
[1C781B64]{DBXSqliteDriver240.bpl} SysInit.@_delayLoadHelper2 (Line 380, "C:\Builds\tp\runtime\rtl\sys\delayhlp.cpp" + 157) + $5
[1C781BAD]{DBXSqliteDriver240.bpl} SysInit.@_delayLoadHelper2 (Line 394, "C:\Builds\tp\runtime\rtl\sys\delayhlp.cpp" + 171) + $D
[5280C176]{DbxCommonDriver240.bpl} Data.DBXCommon.TDBXContext.Trace (Line 11168, "Data.DBXCommon.pas" + 1) + $F
[1C7825A5]{DBXSqliteDriver240.bpl} System.Sqlite.sqlite3.dll (Line 1421, "System.Sqlite.pas" + 0) + $5
[1C78D536]{DBXSqliteDriver240.bpl} Data.DbxSqlite.TDBXSqliteReader.Create (Line 1517, "Data.DbxSqlite.pas" + 12) + $5
[1C78A995]{DBXSqliteDriver240.bpl} Data.DbxSqlite.TDBXSqliteCommand.DerivedExecuteQuery (Line 616, "Data.DbxSqlite.pas" + 13) + $14
[52808575]{DbxCommonDriver240.bpl} Data.DBXCommon.TDBXCommand.ExecuteQuery (Line 8960, "Data.DBXCommon.pas" + 4) + $4
[52808AC3]{DbxCommonDriver240.bpl} Data.DBXCommon.TDBXMorphicCommand.ExecuteQuery (Line 9147, "Data.DBXCommon.pas" + 2) + $5
[528B71EC]{DbxCommonDriver240.bpl} Data.DBXMetaDataCommandFactory.TDBXDataExpressProviderContext.ExecuteQuery (Line 335, "Data.DBXMetaDataCommandFactory.pas" + 8) + $5
[528B2455]{DbxCommonDriver240.bpl} Data.DBXMetaDataReader.TDBXBaseMetaDataReader.FetchTables (Line 2386, "Data.DBXMetaDataReader.pas" + 25) + $1C
[528B1D01]{DbxCommonDriver240.bpl} Data.DBXMetaDataReader.TDBXBaseMetaDataReader.FetchCollection (Line 2261, "Data.DBXMetaDataReader.pas" + 15) + $1D
[528B79DB]{DbxCommonDriver240.bpl} Data.DBXMetaDataCommandFactory.TDBXMetaDataCommand.DerivedExecuteQuery (Line 597, "Data.DBXMetaDataCommandFactory.pas" + 1) + $12
[52808575]{DbxCommonDriver240.bpl} Data.DBXCommon.TDBXCommand.ExecuteQuery (Line 8960, "Data.DBXCommon.pas" + 4) + $4
[52808AC3]{DbxCommonDriver240.bpl} Data.DBXCommon.TDBXMorphicCommand.ExecuteQuery (Line 9147, "Data.DBXCommon.pas" + 2) + $5
[51A6F1E2]{dbexpress240.bpl} Data.SqlExpr.TCustomSQLDataSet.OpenSchema (Line 7012, "Data.SqlExpr.pas" + 126) + $B
[51A6D27E]{dbexpress240.bpl} Data.SqlExpr.TCustomSQLDataSet.ExecuteStatement (Line 6322, "Data.SqlExpr.pas" + 57) + $5
[51A66770]{dbexpress240.bpl} Data.SqlExpr.TCustomSQLDataSet.InternalOpen (Line 4042, "Data.SqlExpr.pas" + 1) + $2
[5117FC1E]{dbrtl240.bpl} Data.DB.TDataSet.DoInternalOpen (Line 12527, "Data.DB.pas" + 2) + $4
[5117FCCE]{dbrtl240.bpl} Data.DB.TDataSet.OpenCursor (Line 12556, "Data.DB.pas" + 3) + $0
[51A668AB]{dbexpress240.bpl} Data.SqlExpr.TCustomSQLDataSet.OpenCursor (Line 4074, "Data.SqlExpr.pas" + 10) + $4
[5117FB85]{dbrtl240.bpl} Data.DB.TDataSet.SetActive (Line 12508, "Data.DB.pas" + 12) + $7
[51A63CD2]{dbexpress240.bpl} Data.SqlExpr.TSQLConnection.OpenSchemaTable (Line 2914, "Data.SqlExpr.pas" + 9) + $7
[51A64AE9]{dbexpress240.bpl} Data.SqlExpr.TSQLConnection.OpenSchema (Line 3161, "Data.SqlExpr.pas" + 11) + $12
[51A64E52]{dbexpress240.bpl} Data.SqlExpr.TSQLConnection.GetTableNames (Line 3261, "Data.SqlExpr.pas" + 5) + $B
[1E22180E]{DataExplorerDBXPluginInt240.bpl} DbExpressIntImpl.FillEntities (Line 207, "DbExpressIntImpl.pas" + 14) + $A
[1E221A84]{DataExplorerDBXPluginInt240.bpl} DbExpressIntImpl.GetEntityNames (Line 268, "DbExpressIntImpl.pas" + 3) + $A
[1E221DA4]{DataExplorerDBXPluginInt240.bpl} DbExpressIntImpl.TDefaultConnection.GetTableNames (Line 372, "DbExpressIntImpl.pas" + 2) + $8
[1E1C0021]{DataExplorerDBXPluginInt240.bpl} DbExpressObjects.GetTableNames (Line 417, "DbExpressObjects.pas" + 3) + $A
[1E1C1AF5]{DataExplorerDBXPluginInt240.bpl} DbExpressObjects.TConnectionObject.GetTableNodes (Line 1048, "DbExpressObjects.pas" + 6) + $24
[500F90C5]{rtl240.bpl } System.Rtti.RawInvoke (Line 7648, "System.Rtti.pas" + 44) + $2
[500F94C7]{rtl240.bpl } System.Rtti.Invoke (Line 7872, "System.Rtti.pas" + 79) + $2
[500F02FD]{rtl240.bpl } System.Rtti.TRttiInstanceMethodEx.DispatchInvoke (Line 5794, "System.Rtti.pas" + 97) + $35
[500F9870]{rtl240.bpl } System.Rtti.TRttiMethod.Invoke (Line 9000, "System.Rtti.pas" + 1) + $18
[1B153A25]{bindengine240.bpl} System.Bindings.ObjEval.TObjectMethodInstance.Invoke (Line 1581, "System.Bindings.ObjEval.pas" + 22) + $29
[1B156998]{bindengine240.bpl} System.Bindings.ObjEval.TAbstractMemberInstance.QueryInterface (Line 2765, "System.Bindings.ObjEval.pas" + 11) + $2
[500A0662]{rtl240.bpl } System.SysUtils.Supports (Line 25564, "System.SysUtils.pas" + 1) + $9
[1B0CFA3B]{bindengine240.bpl} System.Bindings.Evaluator.Invoke (Line 1025, "System.Bindings.Evaluator.pas" + 6) + $A
[1B0CFDD3]{bindengine240.bpl} System.Bindings.Evaluator.TCompiledBinding.Evaluate (Line 1084, "System.Bindings.Evaluator.pas" + 42) + $14
[1B1315C7]{bindengine240.bpl} System.Bindings.ExpressionDefaults.TBindingExpressionDefault.Evaluate (Line 168, "System.Bindings.ExpressionDefaults.pas" + 5) + $16
[1C76688E]{DataExplorerService240.bpl} StructureViewServices.TExprItem.EvaluateValueRec (Line 548, "StructureViewServices.pas" + 37) + $8
[0EE72A92]{DataExplorerIDE240.bpl} ExplorerNodesHelper.TDataNodeHelper.AddOrRefreshChildNodes (Line 367, "ExplorerNodesHelper.pas" + 23) + $27
[0EE727F9]{DataExplorerIDE240.bpl} ExplorerNodesHelper.TDataNodeHelper.AddChildNodes (Line 289, "ExplorerNodesHelper.pas" + 1) + $12
[0EE94F6A]{DataExplorerIDE240.bpl} ExplorerTree.TExplorerTreeFrame.VirtualStringTree1Expanding (Line 491, "ExplorerTree.pas" + 10) + $24
[2151A7DD]{vclide240.bpl} IDEVirtualTrees.TBaseVirtualTree.DoExpanding (Line 18803, "IDEVirtualTrees.pas" + 3) + $D
[21528EDD]{vclide240.bpl} IDEVirtualTrees.TBaseVirtualTree.ToggleNode (Line 28878, "IDEVirtualTrees.pas" + 69) + $8
[21519114]{vclide240.bpl} IDEVirtualTrees.TBaseVirtualTree.DetermineHitPositionLTR (Line 17973, "IDEVirtualTrees.pas" + 76) + $11
[2151DE04]{vclide240.bpl} IDEVirtualTrees.TBaseVirtualTree.HandleMouseDblClick (Line 20947, "IDEVirtualTrees.pas" + 38) + $4
[21517038]{vclide240.bpl} IDEVirtualTrees.TBaseVirtualTree.WMLButtonDblClk (Line 16555, "IDEVirtualTrees.pas" + 6) + $8
[50AA3B32]{vcl240.bpl } Vcl.Controls.TControl.WndProc (Line 7313, "Vcl.Controls.pas" + 91) + $6
[50A855B7]{vcl240.bpl } Vcl.Graphics.FreeMemoryContexts (Line 7056, "Vcl.Graphics.pas" + 12) + $8
[0DCD514C]{TrackingSystem240.bpl} TrackingSystemHelp.CBTHookProc (Line 211, "TrackingSystemHelp.pas" + 27) + $F
[50AA7EDD]{vcl240.bpl } Vcl.Controls.TWinControl.IsControlMouseMsg (Line 9914, "Vcl.Controls.pas" + 9) + $2A
[50AA867D]{vcl240.bpl } Vcl.Controls.TWinControl.WndProc (Line 10143, "Vcl.Controls.pas" + 158) + $6
[21521BF0]{vclide240.bpl} IDEVirtualTrees.TBaseVirtualTree.WndProc (Line 23582, "IDEVirtualTrees.pas" + 32) + $4
[50AA7C9C]{vcl240.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 9850, "Vcl.Controls.pas" + 3) + $6
[50170DFC]{rtl240.bpl } System.Classes.StdWndProc (Line 17187, "System.Classes.pas" + 8) + $0
[2150942B]{vclide240.bpl} IDEVirtualTrees.TVirtualTreeHintWindow.IsHintMsg (Line 7067, "IDEVirtualTrees.pas" + 7) + $13
[50BEEDE7]{vcl240.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10534, "Vcl.Forms.pas" + 23) + $1
[50BEEE2A]{vcl240.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10564, "Vcl.Forms.pas" + 1) + $4
[50BEF15D]{vcl240.bpl } Vcl.Forms.TApplication.Run (Line 10702, "Vcl.Forms.pas" + 26) + $3
Jedenfalls kann i c h in den Details nicht "lesen".
Was kann ich tun?
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#10

AW: Schwerwiegender Fehler, TClientDataSet

  Alt 28. Jul 2017, 10:07
Wenn Du den Pfad in 'ner CMD setzt, so gilt diese Änderung nur in genau dieser CMD und nicht für die übrigen Prozesse.

Die Pfadänderunmg "musst" Du in der Systemsteuerung machen.

Wenn Du in Deinem Programm mal am Anfang ShowMessage(GetEnvironmentVariable('PATH')); einfügst, ist dort die Pfadangabe dann korrekt, d. h.: Befindet sich die DLL in einem der dort aufgeführten Verzeichnisse oder im Programmverzeichnis?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 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