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:

beantworten | zitieren | melden

Hallo!

Habe gerade festgestellt, dass ein Fehler auftritt, wenn man z.B. als MS SQL-Snippet "SELECT TOP 1000 * FROM {tablename}" ausführen will. Werde dass heute abend prüfen.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
maYer
myCSharp.de - Member



Dabei seit:
Beiträge: 49
Herkunft: Dortmund

beantworten | zitieren | melden

Hi,
ich baue ja kein eigenes Snippet.

Ich öffne die Verbindung zur DB (MS SQL), gehe auf eine Tabelle öffne das Kontextmenü und klicke Öffnen an.

Als Benutzer gehe ich dabei eigentlich davon aus, dass das Programm erkennt, ob das Schema der Tabelle mein gesetztes ist oder nicht.

Um sicher zu gehen würde ich, wenn ich das Tool programmiere, die Tabelle immer mit dem Schema aufrufen :-)

Ist kein krittischer Fehler, da ich das Schema anschließend im Sql-String selber vor die Tabelle schreiben kann und der Inhalt präsentiert wird.

Grüße,
maYer
private Nachricht | Beiträge des Benutzers
maYer
myCSharp.de - Member



Dabei seit:
Beiträge: 49
Herkunft: Dortmund

beantworten | zitieren | melden

#Bug ;-)

Der Versuch das Kontextmenü auf dem Hauptknoten MSSQL zu öffnen wirft eine unbehandelte Exception. Im Protokoll wird auch nichts hinterlegt.


Ähm und kann es sein, dass erstellte Snippets nicht gespeichert werden? Das wäre sehr schade und macht das Tool zu diesem Zeitpunkt leider fast unbrauchbar...

<edit>
Okay, gespeichert wird.
Aber nur, wenn das Programm nicht mit einer unbehandelten Exception beendet wird ;-)
</edit>

Grüße,
maYer
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von maYer am .
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:
Das mit dem Snippet war ein allgemeiner Hinweis.
Das mit dem Rechtsklick-Bug ist reproduzierbar, ist wahrscheinlich auch nichts großes.
Bzgl. Snippets/Einstellungen: Gespeichert wird aktuell nur beim Beenden des Programms. Da ist die Frage, ob das nach jeder Änderung (bei Snippets oder Einstellungen) geschehen sollte ...

Bzgl. des Schema-Problems (Sorry, hab's zuerst nicht ganz verstanden): Beim Öffnen wird ein normaler SQL-Befehl generiert "SELECT * FROM {Tabellenname}", also so wie er üblicherweise funktionieren sollte. Im SQL-Studio wird allerdings gleich der Tabellenname inkl. Schema angezeigt und wahrscheinlich auch für die Abfrage verwendet, da ja in einer DB durchaus verschiedene Schema Verwendung finden können). Ich werde sehen, dass ich den MS SQL-Adapter dahingehend anpasse.

EDIT: Ich überlege gerade, ob und wenn was in das Kontextmenü für die Root-Nodes rein könnte (alle auf-/zuklappen, alle löschen, neu, ...)?
Wenn jemand dazu oder zu den anderen Menüs Ideen hat, einfach melden.
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
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Hallo!

Habe wieder eine neue Version hochgeladen (v10.4034.34751), erreichbar über den Link im ersten Beitrag:
  • Kein Fehler mehr beim Rechtsklick auf Datenquellentyp-Node
  • Für MS SQL wird nun zu den Tabellennamen auch das Schema angezeigt
  • In den Einstellungen kann man nun festlegen, ob das Programm beim Schließen eine Sicherheitsanfrage erscheinen soll oder nur minimiert werden soll (schließen kann man dann über das Kontextmenü des Notify-Icon).
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 Tom,

gibt es was neues von der DBASE Baustelle?

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:
Hab' mir gestern mal die Code-Stellen angeschaut und bisher nicht herausfinden können, warum er komplett abbricht, da ja scheinbar der Fehler abgefangen wird und daher zumindest der Rest des Datensatzes eingelesen werden müsste.
Aber ich bleibe dran.
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 Version 1.0.4036.509 hochgeladen (siehe Link im ersten Beitrag):
  • Snippets können nun einer bestimmten Datenquelle zugeordnet werden
  • Snippets können im Abfrage-Editor eingefügt werden (Strg-Einf), die Auswahl beschränkt sich auf Snippets des jeweiligen Datenquellentyps (Platzhalter werden noch nicht ersetzt)
  • Im Abfrage-Editor kann der gesamte Text nun mit Strg-A markiert werden
  • Die Abfrage kann über die Toolbox als Snippet gespeichert werden (Zuordnung zum Datenquellentyp erfolgt automatisch)
  • Im ResultPanel ist nun eine Statuszeile, welche nach einer Abfrage die Zeitpunkt, Dauer smwie Anzahl Zeilen und Spalten anzeigt
  • Die Statuszeile kann über die Toolbox ausgeblendet werden
  • Bzgl. dBase habe ich einige weitere Ausnahme-Prüfungen und Loggings eingebaut
  • Wenn nun bzgl. einer Datenquelle oder Tabelle weniger als 5 Snippets vorhanden sind, werden diese direkt im Kontextmenü angezeigt
  • Beim Beenden des Programms wird bei offenen Panels nachgefragt, ob diese geschlossen oder gespeichert werden sollen (werden dann beim nächsten Aufruf automatisch geöffnet)
  • In den Programm-Einstellungen kann man wählen, ob offene Panels beim Beenden immer gespeichert werden (eine umgekehrte Option "Nie speichern" gibt's noch nicht, ist mir gerade erst eingefallen)
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 Tom,

eine gute Nachricht.

Eine meiner DBASE Files kann angezeigt werden.
Bei der zweiten, da ist das DBT File allerdings riesengroß (1,4 GB) kommt folgende neue Fehlermeldung:
Zitat
19.01.2011 07:09:33 Error GetRecord Error reading record 0 memotext (unknown block number type)

Erstelle ich eine Vrebindng zu einer .dbf Datei in einen Ordner ohne .dbt File dann öffnet wird die DB geöffnet.

Fragen:
- Kannst du das DBT File ignorieren, falls es gefunden wird?
- Funktionieren schon Abfragen, wie "SELECT * FROM Tabelle WHERE Spalte = '2005'"?
- Würde gern eine deiner Komponenten für mein C# Programm nutzen. Wie muß ich das machen? Könntest du ein klitzekleines Sample schicken?

Danke schonmal

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:
Bei der ersten von dir genannten Datei funktionieren die Memotexte?
Leider ist mir erst heute morgen noch ein weiterer Punkt eingefallen (u.a. benutze ich sträflicherweise int.Parse anstatt int.TryParse), wie man das Einlesen verbessern kann.
Denn es kann ja sein, das bei einigen Datensätzen gar kein Memotext angegeben wurden.
Bzgl. "dbt ignorieren könnte ich evtl. eine Option in den Settings einbauen.
Abfragen in anderer Form als "select * from {tablename}" funktionieren noch nicht, der SQL-Parser ist aber in Arbeit.
Bzgl. Beispiel geibt es ein solches bereits weiter oben (sogar für dBase).

EDIT: Stand Nov. 2012: Mittlerweile werden dank des verbesserten SQL-Parsers auch einfache WHERE- und ORDER-Klauseln sowie TOP und DISTINCT berücksichtigt.

@all:
Im ersten Beitrag ist nun auch ein Screenshot, welcher die Symbole und Bereiche erklärt
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
bounty4
myCSharp.de - Member



Dabei seit:
Beiträge: 95

beantworten | zitieren | melden

Hallo Tom,

ja, bei einer Datei funktioniert es auch wenn die .dbt Datei im gleichen Ordner ist.
Wenn die dbf Datei in einem Netzlaufwerk liegt stürzt der DatabaseExplorer ab.

was den Code angeht - ich arbeite noch mit VS2005

 DbaseDataSourceSettings settings = new DbaseDataSourceSettings();

            FileSourceSettings FileSource = new FileSourceSettings();
            FileSource.FileName = "C:\\nn\\db4.dbf";
        
                using (var dataSource = Connections.CreateConnection(settings))
            if (dataSource != null)
            {
                DataTable dataTable = new DataTable();
                dataTable = dataSource.GetData("SELECT * FROM db4.dbf");
                // ...
            }

bei


var dataSource = Connections.CreateConnection(settings)

Komm ich nicht weiter.

Hast du einen Tipp?

Danke 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!
Zitat von bounty4
Wenn die dbf Datei in einem Netzlaufwerk liegt stürzt der DatabaseExplorer ab.
Interessante Randbemerkung ;). Pfadangabe wahrscheinlich in der Form "\\Server\Freigabe\..."?
Werde heute abend mal bei mir testen, wie es sich bei Netzlaufwerken verhält.
Zitat
var dataSource = Connections.CreateConnection(settings)
Der Return-Typ von CreateConnection müsste IDataSourceSettings sein.
Und bei GetData lass im Select die Dateiendung weg.

EDIT: und mach dann gleich DataTable dataTable = dataSource.GetData..., da GetData eine DataTable erstellt.
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
maYer
myCSharp.de - Member



Dabei seit:
Beiträge: 49
Herkunft: Dortmund

beantworten | zitieren | melden

Zitat von tom-essen
Abfragen in anderer Form als "select * from {tablename}" funktionieren noch nicht, der SQL-Parser ist aber in Arbeit.

öhm,
ich habe ein korrektes Ergebnis bekommen, als ich ein Snippet mit zuhilfenahme von cte gebaut habe.

Gibt es eien Unterschied zwischen Snippets und Abfragen?
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!

Ich bezog mich bei dieser Aussage natürlich nur auf die dateibasierten Datenquellen (CSV, dBase, HTML, ...), da hier z.Zt. einfach der gesamte Inhalt in eine DataTable geladen und übergeben wird.
Somit kann zusätzliche Funktionalität in Form von WHERE-Conditions, ... nur durch eine eigens simulierte Logik erfolgen. Diese wird nun erst mal Quick'n'dirty umgesetzt, um überhaupt erstmal die Möglichkeit zu bieten (DSL-Parser sind ja ein sehr mächtiges Thema), langfristig soll dann was vernünftiges und schnelles implementiert werden.

EDIT: Bei den "normalen" Datenbanken (MS SQL, Oracle, ...) werden die Eingaben natürlich 1:1 weiter gegeben, somit sind hier cte's, joins, where's und was auch immer möglich.
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
Bundy.NET
myCSharp.de - Member



Dabei seit:
Beiträge: 79
Herkunft: Elbental

beantworten | zitieren | melden

Hallo tom-essen,

den Database-Explorer find ich auch ganz interessant. Ich muß gestehen, dass ich die meisten Posts nur überflogen habe. Ich wollte dein Projekt lieber erst direkt testen. Allerdings schaffe ich es nicht die zip-Datei zu öffnen. Sowohl 7zip als auch das Windows-eigene zip-Programm hauen mir Fehlermeldungen um die Ohren.

Wenn du das beheben könnte, wäre das klasse. Ich werd dann auch sofort testen. Danke!
"Fehler sind das Tor zu neuen Entdeckungen"
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!

@Bundy.Net:
Danke für den Hinweis, hab's gerade behoben.
Folgende Änderungen sind dabei:
  • Bei MSSQL-DBs werden in der Tabellenliste nun keine Views mehr mit angezeigt
  • Beim Drag'n'Drop von Dateien öffnet sich nun ein Kontextmenü mit den möglichen Optionen
  • Bei Rechtsklick auf das TrayIcon öffnet sich nun ein Menü, u.a. mit den offenen Panels. Bei Auswahl wird das entsprechende Panel in den Vordergrund geholt, egal ob als TabPage oder als Form
  • In der Toolbar der Panels gibt es nun einen neuen Button, welcher die verwendete Datenquelle im TreeView markiert (und den Namen als ToolTip enthält)
  • Rudimentärer Ausdruck ist möglich (Druck-Einstellungen werden nicht gespeichert)
  • Kleinere Fehler beim XLSX-Import per OpenDocument behoben
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
Bundy.NET
myCSharp.de - Member



Dabei seit:
Beiträge: 79
Herkunft: Elbental

beantworten | zitieren | melden

Jetzt hat es geklappt. Danke!

Drei Sachen sind mir aufgefallen:

1. Unterstützung für MS SQL Compact wäre klasse und mir sehr wichtig.
2. Wie im Anhang zu sehen, passen die Dialogboxen bei mir nicht. Die Buttons sind etwas verdeckt. Ist aber bei allen Dialogen so. Der Anhang soll nur als Beispiel dienen.
3. Wollte eine Access-Datenbank öffnen und ein Ausnahmefehler kam. Ich hab Access 2007 installiert. Fehlt mir da noch was:
Fehler
System.InvalidOperationException: Der 'Microsoft.Jet.OLEDB.4.0'-Provider ist nicht auf dem lokalen Computer registriert.
bei System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper)
bei System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
bei System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
bei System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
bei System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
bei System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
bei System.Data.OleDb.OleDbConnection.Open()
bei TD.Additional.Data.MSOffice.Access.AccessDataSourceAdapter.LoadFile(String fileName)
bei TD.Additional.Data.MSOffice.Access.AccessDataSourceAdapter.GetTableNames()
bei TD.Additional.Data.File.FileDataSource.GetTableNames()
bei DatabaseExplorer.MainForm.treeViewDataSources_BeforeExpand(Object sender, TreeViewCancelEventArgs e)
bei TD.Additional.UI.WinForms.Controls.LoadOnDemandTreeView.OnBeforeExpand(TreeViewCancelEventArgs e)
bei System.Windows.Forms.TreeView.TvnExpanding(NMTREEVIEW* nmtv)
bei System.Windows.Forms.TreeView.WmNotify(Message& m)
bei System.Windows.Forms.TreeView.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Attachments
"Fehler sind das Tor zu neuen Entdeckungen"
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!

@Bundy.NET:
Zu 1.) MS SQL Compact setze ich mal mit auf meine Liste
Zu 2.) Hast du evtl. bei dir die DPI-Einstellung geändert?
Zu 3.) Der Access-Import ist z.Zt. äusserst rudimentär eingebunden und geht über den genannten OLE-Treiber. Der Connectionstring sieht so aus:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source={Name der Accessdatei}
. Die Treiber erhälst du hier: Und dann musst du noch aufpassen, wenn du ein 64bit-System hast, da gibt's wohl auch noch Unterschiede.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
Bundy.NET
myCSharp.de - Member



Dabei seit:
Beiträge: 79
Herkunft: Elbental

beantworten | zitieren | melden

zu 1.) Das find ich super.

zu 2.)
Ich habe gerade mal nachgesehen und ich hab die Textgröße wie es bei Windows 7 heißt auf 125%. Habe auf meinem Notebook eine recht hohre Auflösung und da sind mir die Zeichen zu klein. Aber für mich als Anwender wärs ja recht umständlich für ein Programm immer das umzustellen.

zu 3.) Danke für die Links!
"Fehler sind das Tor zu neuen Entdeckungen"
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!

@all:
Im ersten Beitrag ist nun auch ein Screenshot, welcher die Symbole und Bereiche erklärt

@Bundy.NET:
zu 2.) Da musst du nichts umstellen, wollte nur wissen, ob es daran liegt. Die Herausforderung dabei ist, dass diese Dialoge zur Laufzeit erstellt werden, da muss ich mal schauen, wie ich das mit in die Größenberechnung einbauen kann.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
Bundy.NET
myCSharp.de - Member



Dabei seit:
Beiträge: 79
Herkunft: Elbental

beantworten | zitieren | melden

Zitat von tom-essen
zu 2.) Da musst du nichts umstellen, wollte nur wissen, ob es daran liegt. Die Herausforderung dabei ist, dass diese Dialoge zur Laufzeit erstellt werden, da muss ich mal schauen, wie ich das mit in die Größenberechnung einbauen kann.

Alles klar!
"Fehler sind das Tor zu neuen Entdeckungen"
private Nachricht | Beiträge des Benutzers
bounty4
myCSharp.de - Member



Dabei seit:
Beiträge: 95

beantworten | zitieren | melden

Hi,

gibt es schon was neues in Bezug auf Abfragen nach dem Inhalt einer bestimmten Spalte für die DBASE Dateien?

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!
Zitat von bounty4
gibt es schon was neues in Bezug auf Abfragen nach dem Inhalt einer bestimmten Spalte für die DBASE Dateien?
Meinst du Konstrukte in der Form
select spalte1, spalte2 from...
Wenn nein: was dann.
Wenn ja: Ist in Arbeit, der Lexer und Syntax-Parser für SELECT-Statements ist bereits fertig, als nächstes steht die Integration in die entsprechenden Adapter auf dem Plan.
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,

klingt ja sehr gut. Ich meine sowas:


SELECT Spalte oder * FROM Table WHERE SPALTE = ''

Das komplette einlesen mit select * bie Nutzung deiner DLL's klappt bereits. Ist allerdings sehr langsam.

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!

Es gibt wieder eine neue Version, ist aber diesmal nicht viel dazu gekommen:
  • TrayIcon-Menü um datenbank-gebundene Snippet-Liste erweitert
  • Kontextmenü in der TreeView an einigen Punkten erweitert
  • Die zuletzt verwendeten Abfragen können nun pro Datenquelle über das Kontextmenü abgerufen werden (max. Anzahl in den Einstellungen, Standard ist 20)
  • Im- und Export von Snippets möglich (ACHTUNG! Z.Zt. noch keine Prüfung auf doppelte Einträge beim Import)

Bzgl. SQL-Parser bei den dateibasierten Datenquellen bin ich noch nicht weiter gekommen., ist ja doch eine etwas größere Aufgabe.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
eveN
myCSharp.de - Member



Dabei seit:
Beiträge: 113
Herkunft: Bielefeld

beantworten | zitieren | melden

Hallo,

erstmal Danke für das nützliche Tool!

Ich bin gerade ein wenig am Testen und die ersten Dinge, die mir aufgefallen sind:

1. Wenn ich eine SQL-Datenquelle hinzufügen will (in meinem Fall eine MS SQL-Datenquelle), dann hängt der Mauszeiger teilweise/ruckelt teilweise ca. 3-4 Sekunden und man hat das Gefühl, dass irgendwas nicht so richtig passt, bis das Fenster aufgeht, in dem die Datenquellen dann auswählbar sind. Das ist zwar nur eine Schönheitskorrektur, aber ich fände es viel besser, wenn erst das Fenster mit der SQL-Serverauswahl aufgehen würde und zu Anfang sowas wie "Server werden gesucht.." in der Combobox steht, bis die SQL-Server gefunden wurden (danach ist dann natürlich die Auswahl in der Combo möglich..) Zusätzlich vielleicht während der Suche den Mauszeiger noch in die Sanduhr verwandeln.

2. Ich habe meine Datenquelle hinzugefügt und mir eine Tabelle anzeigen lassen. Mit rechter Maustaste auf eine Spalte kann man "Ändern wählen", allerdings stürzt bei mir das Programm dann ab (Meldung "An der Position 0 befindet sich keine Zeile").

3. Ich bekomme immer nur die erste Zeile meiner Tabellen angezeigt. Die Spalten sind alle da; doch egal wieviel Zeilen die Tabelle beinhaltet, es wird immer nur die erste angezeigt.

Falls iwas der 3 Punkte schon angesprochen wurde -> Sorry. Habe nicht alle Posts gelesen!

Nochmal Danke für deine Mühe!

Gruß
Ich lasse mich gerne korrigieren! (:
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!

@eveN:
ad 1.) Die Eigenschaftsdialoge für die Datenquelleneigenschaften werden alle dynamisch erstellt. Dass hat leider den nachteiligen Effekt, dass - zumindest beim ersten Aufruf eines MSSQL-Eigenschaftsfensters - dann erst die Datenbanken gesucht werden können (was mich zugegeben selbst auch manchmal stört).
Aber den Vorschlag der asynchonen Auffüllung der ComboBox greife ich auf, und werde ihn bei Gelegenheit umsetzen.

ad 2.) Ups, das war eigentlich erstmal nur für mich zum testen und sollte garnicht in die offizielle version rein

ad 3.) DAS kann ich mir absolut nicht erklären. Da schau doch mal bitte in die LogFiles (oder Menü Hilfe, Zeige Protokoll) was da bzgl. dieser Anfrage drin steht.
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!

@all:
Habe gerade festgestellt, dass unter 64bit die Jet-Treiber nicht funktionieren, weil dies von MS nicht supported wird :(. Werde also demnächst entweder nur noch eine x86-Version anbieten oder beide parallel.

EDIT: Habe noch ein paar Fehler bzgl. MSSQL gefunden (wenn z.B. in den Tabellen Leerzeichen sind). Und auch der Aufruf der Snippets aus dem Tray-Menü funktioniert noch nicht wie gedacht. An Lösungen wird gearbeitet.
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
mabo
myCSharp.de - Member



Dabei seit:
Beiträge: 335

beantworten | zitieren | melden

Hallo,

vielen Dank für das Programm. :)

ich hätte auch noch einen Featurewunsch:
Wäre es möglich, die Einstellungsdatei an einem bestimmten Ort zu speichern und zu laden? Dann könnte man das Programm + Einstellungen auf einem USB-Stick speichern und z.B. zum Kunden mitnehmen.
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!

@mabo:
Da ist bereits jetzt schon möglich:
Kopiere die Einstellungsdatei ins Anwendungsverzeichnis und füge anschließend in der Datei das Attribut UseLocalConfigFile="true" zum Root-Element hinzu.
<configuration name="Database-Explorer" UseLocalConfigFile="true">
Somit werden dann auch Änderungen nur noch lokal geschrieben.

@all:
Es gibt wieder eine neue Version.
Geändert wurde u.a. der CSV-Import, dieser ist nun sehr viel schneller (bei mir 50MB in unter 8sek. eingelesen). Zudem kann man in den Einstellungen einer CSV-Datei nun auch selbst Spaltennamen angeben, für CSV-Daten mit fixen Spaltenbreiten kann man die Positionen der Spalten angeben (dabei auf die Reihenfolge achten).
Lässt man in den Settings den Wert für das Trennzeichen leer oder auf "Auto", versucht das Programm nun selbständig, das Trennzeichen zu ermitteln und prüft, ob die erste Zeile Spaltennamen enthält. Die Erkennung fixer Spaltenbreiten wird nicht unterstützt, dass kann nicht funktionieren (z.B. die BLZ-Liste der Bundesbank kann man nicht mit Logik entschlüsseln) (EDIT: Bin da mittlerweile doch etwas weiter, einfach probieren, ob es mit einer Datei funktioniert).

In der Toolbar des Ergebnispanel ist der Schalter für die Auswahl der Datenquelle nun ein Splitbutton: Per Dropdown-Menü hat man nun direkten Zugriff auf die Einstellungen der Datenquelle (besonders hilfreich, wenn man eine Datei per Drag'n'Drop nur zum Anzeigen geöffnet hat), ggf. muss man danach manuell die Abfrage erneut ausführen.

Habe zudem einige Fehler beim MSSQL-Adapter beseitigt (gab' teilweise Probleme mit den Schema-Angaben und bei Tabellenname mit Leerzeichen).

Für ODBC-Datenquellen können nun auch die Tabellenspalten angezeigt werden.

EDIT: Beim Start des Programms werden offen Abfragen der letzten Sitzung (falls diese gespeichert wurden) nun zwar angezeigt, aber nicht ausgeführt. Zum einen gab es dabei teilweise Anzeigefehler, zum anderen musste ich aber selbst erfahren, dass eine vergessene INSERT- oder UPDATE-Abfrage beim nächsten Start viel durcheinanderbringen kann.
Dieser Beitrag wurde 4 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