Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Database-Explorer
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

Database-Explorer

beantworten | zitieren | melden

Hallo!

Wie bereits in Additional.NET beschrieben, arbeite ich seit ca. 2007 an einem Framework zur Erweiterung der .NET-Funktionalitäten.

Ein Punkt dabei war der Zugriff auf Datenbanken bzw. Daten in datenbank-ähnlichen Strukturen über eine einheitliche Schnittstelle.

Dank der Feiertage bin ich diesem Ziel nun wieder einen Schritt näher gekommen.

Aus dem anfänglichen Testprojekt ist ein für mich recht wichtiges Werkzeug geworden. Im Gegensatz zu einem erst zu installierendem SQL Management Studio mit locker 100 MB ist der Database-Explorer (im folgenden nur noch DBE genannt) sofort einsatzbereit und mit ca. 22MB (bzw. ca. 7MB als ZIP) auch schneller geladen (OK, mit Oracle-Dateien sind es knapp 120 MB).

Der Vorteil liegt in der gleichzeitigen Verwaltung mehrere Datenquellen in einer Oberfläche. Sicherlich bieten die DB-speziellen Tools einige Vorteile, aber für den alltäglichen Bedarf sind diese in der Regel nicht notwendig (behaupte ich zumindest mal).

Die Komponenten des Frameworks dürfen auch in eigenen Projekten verwendet werden, ein Beispiel findet sich in einem der folgenden Beiträge.

Z.Zt unterstützt der DBE folgende Datenquellen (Stand Aug. 2016):
  • MS SQL
  • MS SQL Compact
  • mySQL, wenn der Connector v6.3.5 im GAC liegt (andere Versionen wurden nicht getestet)
  • Oracle (bei installiertem Client)
  • ODBC
  • CSV/Text
  • Firebird
  • SQLite (benötigt sqlite.dll)
  • HTML
  • dBase
  • Excel (bis 2007-2013)
  • Access (über 32bit-MS-Jet 4.0-Treiber) (aktuell nur die 64-Bit-Version hochgeladen)
  • SharePoint 2007-2013

Die Datenquellen werden nach Datenquellentyp (MSSQL, mySQL, ...) sortiert angezeigt. Das TreeView-Control arbeitet dynamisch, d.h. beim erstmaligen aufklappen kann es etwas dauern, bis die darunterliegenden Informationen geladen wurden (gerade bei den dateibasierten Datenquellen).

Einstellungen:
Aktuell habe ich noch das Problem, dass hier oft englische und deutsche Namen durcheinander kommen, da arbeite ich noch dran. Bei einigen dateibasierten Datenquellen (CSV, Text, HTML) sind zusätzliche Einstellungen möglich, um die Auswahl einzuschränken bzw. Vorgaben bzgl. der Daten zu machen (bei CSV bspw. ob die erste Zeile die Spaltennamen enthält).

Folgendes ist geplant (Reihenfolge ist nicht zwingend maßgebend):
  • Transaktionen
  • Implementierung von IDataReader
  • Verbesserter Support für MS SQL, mySQL und Oracle bzgl. Views und Procedures.
  • Unterstützung für DB2, PostGreSQL (Reihenfolge nicht relevant ).
  • Abfrage über mehrere Datenquellen, also z.B. zwischen Excel, MSSQL und CSV
  • Unterstützung für MS CRM-Listen und Word-Tabellen.
  • Verbesserte Unterstützung für Word, Excel und Access.
  • Verbesserte Encoding-Prüfung beim CSV-Import.
  • Verbesserte Unterstützung für dBase (Memotexte, Encoding, Indizees, Geschwindigkeit).
  • Mehrstufige Abfragen (z.B. zu einer Angebotsnummer nicht nur den Eintrag aus einer Angebotstabelle sonder zusätzlich auch die Angebotspositionen aus einer anderen Tabelle laden und separat anzeigen).
  • Vergleich von Abfragen, Verwenden von Teilergebnissen bzw. Spalten eines Ergebnisses für weitere Abfragen.
  • SQL-Query-Editor mit IntelliSense (das wird dauern ).
  • Schreiben in dateibasierte Datenquellen
  • SQL-Parser für erweiterte SELECT-Abfragen bei dateibasierten Datenquellen (teilweise schon umgesetzt)
  • Notifications, sofern von der DB unterstützt
  • Auflistung und Ausdrucksmöglichkeit für angegebene Referenzen
  • Rechteverwaltung
  • Stored Procedures
  • ...

Leider ist das Archiv mit OpenXML-Support zu groß für den Upload geworden, daher nun per Link: DatabaseExplorer.zip (7.66 MB). Das Archiv einfach in einen Ordner entpacken und die exe starten, Mindestvorraussetzung ist .NET v4.

Und hier noch ein Screenshot mit Erläuterung der Symbole (die Toolbar ist unterteilt in die Bereiche Panel-Steuerung, Panel-Layout, Ergebnis-Layout und Ergebnis-Verwendung): (Stand ca. Mitte 2012, muss mal wieder angepasst werden)
Dieser Beitrag wurde 35 mal editiert, zum letzten Mal von tom-essen am .
Attachments
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Hier noch ein Screenshot
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von tom-essen am .
Attachments
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Musste gerade feststellen, dass die Einstellungen nur per Tastatur kaum durchführbar sind (Maus-Batterien leer), dass muss ich noch ändern.

Hier noch ein Screenshot während der Einrichtung einer dBase-Datenquelle (Auswahl einer Datei):
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von tom-essen am .
Attachments
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
bounty4
myCSharp.de - Member



Dabei seit:
Beiträge: 95

Database-Explorer

beantworten | zitieren | melden

Hallo Tom,

coole Sache der Database-Explorer. Funktioniert mit meinen DBASE IV Datenbanken nur zum Teil.
Bei der wichtigen DB werden Tabelle und Spalteninfo ausgelesen. Allerdings ohne Inhalte. Liegt vermutlich daran, daß die DB Memory Felder enthält.
Bei einer mit dem DB Base Viewer erstellten DB wird die Tabelle komplett geöffnet.
Das Logging scheint noch nicht zu funktionieren. Zumindest habe ich den Pfad angegeben. Wird die Datei automatisch erstellt?

.csv Dateien wurden Problemlos geöffnet. Schön wäre eine Möglichkeit der Angabe des Trenners.

Könnte ich die TD.Additional.Data.Dbase.dll nutzen? Wenn ja wie?

Danke schonmal

Gruß Thomas
private Nachricht | Beiträge des Benutzers
Scavanger
myCSharp.de - Member

Avatar #avatar-3209.jpg


Dabei seit:
Beiträge: 323

beantworten | zitieren | melden

Praktische Sache.

Was von meiner Seite aus noch wünschenswert wäre, wäre eine Unterstützung von SQLite, mit SQLlite DB's hab ich relativ oft zu tun.

Ansonsten ein Top-Programm.

using System;class H{static string z(char[]c){string r="";for(int x=0;x<(677%666);x++)r+=c[
x];return r;}static void Main(){int[]c={798,218,229,592,232,274,813,585,229,842,275};char[]
b=new char[11];for(int p=0;p<((59%12));p++)b[p]=(char)(c[p]%121);Console.WriteLine(z(b));}}
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

@bounty4:
Ja stimmt, die MemoryFelder, werden (noch) nicht unterstützt (d.h die Daten in den DBT-Dateien).
Bzgl. Logging: Die Datei wird automatisch erstellt, sobald eine Meldung erstellt wird. Allerdings unterstützen die dateibasierten Datenquellen-Adapter z.Zt. noch kein Logging. Ist aber nun auch mit auf der Liste.
Bzgl. Trenner bei CSV-Import: Ebenfalls ein guter Hinweis, ist nun auch auf der Liste.
EDIT: Stand Nov. 2012 alles umgesetzt.

Die TD.Additional.Data.Dbase.dll kann man selbstverständlich auch in eigenen Projekten verwenden.
Als Verweise muss man "TD.Additional.dll", "TD.Additional.Data.dll" und die jeweilige Datenquellen-Assembly einbinden.


using TD.Additional.Data;
using TD.Additional.Data.Dbase;
using TD.Additional.Data.File;

[...]

var settings = new DbaseDataSourceSettings() 
    { FileSource = new FileSourceSettings() { FileName = "Name der dbase-Datei" } };
using (var dataSource = Connections.CreateConnection(settings))
    if (dataSource != null)
    {
        var dataTable = dataSource.Execute("SELECT * FROM whatever");
        // ...
    }
Zuerst werden die Einstellungen erstellt, für jede Datenquelle gibt es entsprechende Settings-Klassen. Für jede muss man anschließend die benötigten Eigenschaften setzen (bei dBase ist momentan nur die Quelle notwendig).
Bei den dateibasierten Datenquellen kann man aktuell zwischen Dateien (FileSourceSettings, Property FileName), Verzeichnissen (FolderSourceSettings, Property Folder) und frei zugänglichen Internetpfaden für einzelne Dateien (UriSourceSettings, Property Uri) wählen.
Connections ist eine statische Klasse, die z.Zt. einzige Methode CreateConnection erstellt eine zum Settings-Typ passende Adapter-Instanz. Wird keine gefunden, wird null zurückgegeben (daher die Prüfung). Mit Execute kann man dann die Daten für eine (gültige) Query abrufen.

EDIT (05.09.2011): Die Methode "Execute" hieß früher "GetData".

@Scavanger:
SQLite kommt mit auf die Liste.
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Habe gerade im ersten Post eine neue Version online gestellt:
  • In der TreeView werden nun zusätzlich Icons angezeigt, um das Ganze etwas bunter zu machen.
  • Die Ergebnisse lassen sich nun schließen oder über den Pin als eigenes Fenster abdocken (und wieder andocken). Je nach Einstellungen funktioniert auch das Snapping.
  • Die Query eines Ergebnisses kann nun bearbeitet und das Ergebnis auch aktualisiert werden.
  • Die Spaltenbreite kann nun automatisch berechnet werden, die Zeilenhöhe kann ebenfalls angepasst werden.
  • CSV unterstützt nun auch eigene Trennzeichen (bisher wurde immer automatisch gesucht in der Reihenfolge "Tab, Semikolon, Komma". Als nächstes kommt evtl. noch die feste Breite für Spalten, Probleme gibt's teilweise noch bei deim Encoding.
  • Logging funktioniert nun auch bei den dateibasierten Datenquellen.
  • Nun können auch Acces- und Excel-(xls/xlsx)-Dateien eingelesen werden.
  • Beim Minimieren verschwindet der DB-Explorer nun im Try, ein Klick reicht zur "Wiederbelebung" aus.
  • In den Programm-Einstellungen kann man den DB-Explorer nun auch wahlweise mit Windows starten lassen.

Zusätzlich findet sich nun im ersten Post auch eine Liste mit geplanten Erweiterungen.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
b-oern
myCSharp.de - Member



Dabei seit:
Beiträge: 45

beantworten | zitieren | melden

Das Program startet bei mir nicht.

Debugger sagt: Could not find file 'C:\Users\{user}\DatabaseExplorer.ico'.

Und ja ich hab die zip entpackt.
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Das Icon ist nun als Resource mit im Programm.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
bounty4
myCSharp.de - Member



Dabei seit:
Beiträge: 95

beantworten | zitieren | melden

Hi Tom,

Programm startet. Allerdings bekomm ich keine der Datenquelleninhalte angezeigt:

System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei TD.Additional.Data.File.FileDataSource.GetData(String query)

Bei DBase und CSV Dateien kommt diese Fehlermeldung.

Betreffs der DBT Dateien wäre es schön wenn zumidest die DBF Datei abgefragt werden könnten
Ist da was geplant?

GRuß Bounty
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Habe gerade eine neue Version im ersten Post online gestellt.
Das Logging funktioniert nun endlich korrekt, im Hilfe-Menü kann man das Protokoll direkt anzeigen lassen (es gibt noch einige Probleme beim nach dem Minimieren).
Weiterhin gibt es im Hilfe-Menü nun ein Feedback-Formular, wenn man etwas mitteilen möchte.
An einem erweiterten Ausnahme-Dialog arbeite ich noch.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
bounty4
myCSharp.de - Member



Dabei seit:
Beiträge: 95

beantworten | zitieren | melden

Hi,

Supi, mit der neuen Version werden die Daten wieder abgerufen.

Kannst du das mit DBASE Dateien mit Memoryfile (.dbt) realisieren?

Gruß Thomas
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

@bounty4:
Die Realisierung an sich wird kein Problem darstellen, eher der Zeitpunkt bis zur Fertigstellung.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Im ersten Post findet sich eine neue Version:
  • Bei den Excel-Einstellungen kann man nun auch angeben, dass nicht per OLE-Treiber, sondern entweder per COM (für xls, ACHTUNG: Langsam) oder OpenXML (xlsx) geladen werden soll
  • Access-Import rudimentär möglich
  • Datei kann auf TreeView gezogen werden, wenn mit rechter Maustaste gezogen, kommt nach den Einstellungen die Frage, ob die Datei als Datenquelle eingebunden oder nur die enthaltenen Tabellen angezeigt werden sollen
  • dBase nun mit rudimentärem Memotext-Support, Encoding funktioniert noch nicht korrekt
  • Neue Datenquelle bzw. ändern oder löschen nun direkt über die Toolbar möglich
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
bounty4
myCSharp.de - Member



Dabei seit:
Beiträge: 95

beantworten | zitieren | melden

Hi,

du bist ja schnell. Sehr schönes Programm.
Bei den DBASE Files mit Memoryfile werden allerdings nur die Spaltenköpfe ausgelesen.


Gruß Thomas
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

@bounty4:
Bzgl. der MemoFiles sucht er nach einer gleichnamigen Datei mit Endung dbt. Entweder hat er diese nicht gefunden oder er hat Probleme beim Einlesen (steht was in den Logs).

@all:
Leider fehlte im letzten Archiv die OpenXML-Assembly, das habe ich gerade geändert.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
bounty4
myCSharp.de - Member



Dabei seit:
Beiträge: 95

beantworten | zitieren | melden

Hi,

im Startordner vom Database - Explorer wurde kein Log erstellt.
Die .dbt Datei liegt im gleichen Ordner.

Gruß Thomas
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

@bounty4:
Schau mal im Menü "Programm" unter "Einstellungen" nach, dort steht der Ordner, in dem die Protokolle abgelegt werden (standardmäßig unter AppData ...)
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
bounty4
myCSharp.de - Member



Dabei seit:
Beiträge: 95

beantworten | zitieren | melden

Hi Tom,

da hatte ich nicht geschaut. Das ist das Log:
13.01.2011 10:08:55	Debug	.ctor	New instance of TD.Additional.Data.Dbase.DbaseDataSourceAdapter created
13.01.2011 10:08:57	Debug	.ctor	New instance of TD.Additional.Data.Dbase.DbaseDataSourceAdapter created
13.01.2011 10:08:59	Debug	.ctor	New instance of TD.Additional.Data.Dbase.DbaseDataSourceAdapter created
13.01.2011 10:09:00	Debug	.ctor	New instance of TD.Additional.Data.Dbase.DbaseDataSourceAdapter created
13.01.2011 10:09:00	Debug	LoadTable	Loading table 'Daten' from 'D:\ProjectSource\New Folder\Daten\Daten.dbf'
13.01.2011 10:09:00	Debug	LoadTable	Table with 0 rows loaded
13.01.2011 10:09:06	Debug	.ctor	New instance of TD.Additional.Data.Dbase.DbaseDataSourceAdapter created
13.01.2011 10:09:06	Debug	GetData	New query: 'SELECT * FROM Daten'
13.01.2011 10:09:06	Debug	LoadTable	Loading table 'Daten' from 'D:\ProjectSource\New Folder\Daten\Daten.dbf'
13.01.2011 10:09:06	Debug	LoadTable	Table with 0 rows loaded
13.01.2011 10:09:34	Debug	.ctor	New instance of TD.Additional.Data.Dbase.DbaseDataSourceAdapter created
13.01.2011 10:09:34	Debug	GetData	New query: 'select * from Daten'
13.01.2011 10:09:34	Debug	LoadTable	Loading table 'Daten' from 'D:\ProjectSource\New Folder\Daten\Daten.dbf'
13.01.2011 10:09:34	Debug	LoadTable	Table with 0 rows loaded


Die .dbt Datei liegt im selben Ordner.

Gruß Bounty
private Nachricht | Beiträge des Benutzers
Harry B.
myCSharp.de - Member



Dabei seit:
Beiträge: 34

beantworten | zitieren | melden

Bei dBase-Datenbanken werden aktuell keine Index-Dateien (CDX) berücksichtigt. Wird das noch ergänzt werden?

Wird man auf dBase-Datenbanken auch schreibend zugreifen können?
Gruß,
Harry B.
----------------------------------------------
Kaum macht man 's richtig, schon funktioniert 's!
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

@Harry B.:
Schreibender Zugriff wird erst möglich sein, wenn ich einen halbwegs vernünftigen SQL-Parser habe, daran arbeite ich gerade.
Wofür sind die Index-Dateien?
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
Harry B.
myCSharp.de - Member



Dabei seit:
Beiträge: 34

beantworten | zitieren | melden

Halo Tom!

Index-Dateien sind zum schnellen Suchen innerhalb von DBF-Dateien.

Enthält eine DBF-Datei z.B. eine Spalte mit Artikelnummern und sucht man jetzt nach einer ganz bestimmten Artikelnummer, so muss man nicht die ganze DBF-Datei lesen, sondern schaut im Index nach, wo genau der Datensatz ist.

Dazu gibt es unter dBase(-Dialekten) den SEEK-Befehl (SEEK('4711')). In SQL, aber das weißt Du selber, wäre es ein SELECT * WHERE ARTIKEL='4711'.
Gruß,
Harry B.
----------------------------------------------
Kaum macht man 's richtig, schon funktioniert 's!
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Der Download im ersten beitrag wurde wieder aktualisiert:
  • Die Query-Eingabe ist nicht mehr modal, dafür wird nun sofort ein neues Panel geöffnet, in welchem die Eingabe erfolgt.
  • Der Refresh ist nun auch per Hotkey "F5" möglich, z.Zt. aber nur, wenn die Textbox fokusiert ist.
  • Die Query-Ausführung wurde in einen Thread ausgelagert und kann unterbrochen werden (der Refresh-Button ändert sich während der Abfrage in den Abbruch-Button).
  • Neu ist der Snippet-Manager: Zu jedem Datenquellentypen kann man nun Abrfragen definieren und diese auf Wunsch im Kontextmenü der Datenquellen anzeigen lassen. Der derzeit einzige Platzhalter "{tablename}" wird dabei durch den Namen der Tabelle ersetzt, welche aktuell markiert ist. Somit kann man z.B. für MS SQL eine Abfrage erstellen, welche nur die ersten 500 Datensätze einliesst (SELECT LIMIT 500 * FROM {tablename}). diese Abfragen werden dann auch nur im Tabellen-Menü angezeigt.
  • Bzgl. der dateibasierten Datenquellen sollten diese nun etwas schneller geöffnet werden, wenn Sie lokal vorliegen.
  • Bei dBase habe ich die Encoding-Auswertung integriert, funktioniert aber zumindest bei mir noch nicht korrekt. Beim Import von Menotexten habe ich zusätzliche Fehlerprüfungen eingebaut und das Logging erweitert.
  • Das Protokoll kann übrigens auch direkt über das Hilfe-Menü aufgerufen und parallel angezeigt werden, dann muss man nicht erstz mühsam die Datei suchen.

Edit: Die Textbox mit der Query kann auch aus- und wieder eingeblendet werden, der Button dafür ist der ehemalige Edit-Button im Ergebnis-Panel.
Edit2: Das Andocken/Anpinnen (weis einer, wie man das korrekt nennt?) in die TabControl-Liste funktioniert nun auch wieder. Und auch dem anschnappen der Fenster gab es Probleme, die nun behoben sind.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

@Harry-B.:
Z.Zt. wird bei den dateibasierten Datenquellen lediglich "SELECT * FROM {Tabelle}" unterstützt, alles weitere kommt erst mit dem SQL-Parser (also z.B. auch WHERE-Bedingungen). D.h. auch, dass die Index-Dateien ganz hinten auf die Liste kommen.

EDIT: Stand Nov. 2012 werden einzelne Spaltenangaben in SELECT unterstützt, dBase-Index-Dateien noch nicht.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
bounty4
myCSharp.de - Member



Dabei seit:
Beiträge: 95

beantworten | zitieren | melden

Hi Tom,

hab leider keine anderen Fehlermeldungen:
16.01.2011 11:53:56	Debug	.ctor	New instance of TD.Additional.Data.Dbase.DbaseDataSourceAdapter created
16.01.2011 11:53:58	Debug	.ctor	New instance of TD.Additional.Data.Dbase.DbaseDataSourceAdapter created
16.01.2011 11:53:59	Debug	.ctor	New instance of TD.Additional.Data.Dbase.DbaseDataSourceAdapter created
16.01.2011 11:54:00	Debug	.ctor	New instance of TD.Additional.Data.Dbase.DbaseDataSourceAdapter created
16.01.2011 11:54:00	Debug	LoadTable	Loading table 'Daten' from 'D:\ProjectSource\_MyDotNet Projekts\Lotus Datenbank\New Folder\Daten.dbf'
16.01.2011 11:54:01	Debug	LoadTable	Table with 0 rows loaded
16.01.2011 11:54:22	Debug	.ctor	New instance of TD.Additional.Data.Dbase.DbaseDataSourceAdapter created
16.01.2011 11:54:22	Debug	GetData	New query: 'SELECT * FROM Daten'
16.01.2011 11:54:22	Debug	LoadTable	Loading table 'Daten' from 'D:\ProjectSource\_MyDotNet Projekts\Lotus Datenbank\New Folder\Daten.dbf'
16.01.2011 11:54:22	Debug	LoadTable	Table with 0 rows loaded
Ist im download die neue Version schon drin? - hab keine neuere Datei gesehen.

Gruß Bounty
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

@bounty4:
Ja, Musst aber evtl. noch deinen Browser-Cache leeren!
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
bounty4
myCSharp.de - Member



Dabei seit:
Beiträge: 95

beantworten | zitieren | melden

Hallo,

ja danke hatte ich nicht dran gedacht.

Beim öffnen der DBASE IV DB bekomme ich jetzt die Fehlermedung:
16.01.2011 17:02:48	Debug	Initialize	Codepage is 1252 / System.Text.SBCSCodePageEncoding
16.01.2011 17:02:48	Error	GetRecord	Error reading record 0 memotext: Die Eingabezeichenfolge hat das falsche Format.
16.01.2011 17:02:48	Error	GetRecord	Error reading record 0: Die Eingabezeichenfolge hat das falsche Format.

Gruß Bounty
private Nachricht | Beiträge des Benutzers
maYer
myCSharp.de - Member



Dabei seit:
Beiträge: 49
Herkunft: Dortmund

beantworten | zitieren | melden

Hi,
das schaut ja nett aus.

Wenn nicht das Standardshema genutzt wird, bekommt man bei jeder initialen Abfrage (öffnen) eine Fehlermeldung, dass das Objekt nicht gefunden wird.

Erst, wenn das Shema vor die Tabelle geschrieben wird, funktioniert die Abfrage.

Grüße,

maYer
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von maYer am .
private Nachricht | Beiträge des Benutzers
bounty4
myCSharp.de - Member



Dabei seit:
Beiträge: 95

beantworten | zitieren | melden

Hi MaYer,

wie müsste das dann aussehen?

Gruß Bounty
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

@maYer:
Ich denke mal, es geht um MS SQL.
Ist dass dann nicht eigentlich auch das korrekte Verhalten? Soweit ich weis, wird bei einer Abfrage ohne Schema zunächst nach {Benutzerschema}.Tabelle gesucht, wenn diese fehlt, dann nach {Standardschema}.Tabelle. Benutzt du dieselben Anmeldedaten wie im SQL Studio?
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers