MP3 Song Datenbank

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

Hallo Georg

mittlerweile habe ich einen Weg gefunden alle Tags aus den Dateien zu lesen. Zuerst verwende ich die Datei-Typ- unahhängigen Funktionen der AudioGenie.Dll also z.B. "AUDIOGetTitleW" für den Titel, liefert dieser kein Ergebnis dann die Typabhängigen Funktionen wie "ID3V1GetTitleW" Version1 für MP3 usw. merkwürdigerweise liefert oft erst die 2 oder 3 Variante den entsprechenen Wert aus dem Titel. Wie vielfältig die Songdateien doch sein können.....
Glücklicherweise können so auch mp4/FLAC Dateien verarbeitet werden, ich war mir nicht bewusst dass viele viele schöne Songs als MP4 oder FLAC abgelegt waren...... Gerade letztere sind die wertvollsten die auch bei guter Lautstärke aktzeptable Qualität liefert, die auch beim Hören Spass macht ....
Seit einigen Stunden läuft der Scanner nun so und liefert alle Dateiangaben. Nachdem die mal alle in einer DBF stehen beginne ich dann diese in eine Postgre SQL Datenbank zu übertragen.


Gruss Carlo
Valar Morghulis

Gruss Carlo
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

Hallo Georg
georg hat geschrieben:die Suche ist ausreichend schnell, um Dir Tränen in die Augen zu treiben, wenn Du das nächste Mal "SET FILTER" verwendest.
WOOOWWWW... Die Volltextsuche benötigt zur Suche nach 3 Wörtern und Rückgabe der 13 passenden Datensätzten aus > 1Mio gerade mal 0.6 Sekunden. Da hast du aber gar nicht übertrieben!!

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MP3 Song Datenbank

Beitrag von AUGE_OHR »

ramses hat geschrieben:WOOOWWWW... Die Volltextsuche benötigt zur Suche nach 3 Wörtern und Rückgabe der 13 passenden Datensätzten aus > 1Mio gerade mal 0.6 Sekunden. Da hast du aber gar nicht übertrieben!!
... und vermutlich noch nicht mal "optimiert" ?!

schreib doch bitte mal "was" du nun "wie" benutzt hast (native oder pgDBE) und wie dein SELECT aussieht, Danke.
gruss by OHR
Jimmy
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

Hallo Jimmy

die 0.6 Sekunden war der Test mit pgAdmin4

unter xbase++ habe ich folgendes gestestet:
Voll-Text-Suche nach den Worten: Guns Novemer Rain

Code: Alles auswählen

 cHost := "192.168.10.6"
   oConn := pqSetDbLogin(cHost,"5432",NIL,NIL,"musik","postgres","postgres")
   if ( PQstatus(oConn) != ConnStatusType.Ok )
      msgbox(cPrintf( "PG- Fehler beim DB-Login: %s", PQerrorMessage(oConn) ))
      return
   else
      lSuccess := .T.
   endif
altd()
   s := seconds() 
   arr := {}
   cExec := "select * from musik where fts_col @@ to_tsquery('german', 'guns&november&rain') limit 100;"
   nResult := PQexec(oConn, cExec )
   nTotal  := PQntuples(nResult)
   if ( PQResultstatus(nResult) != ConnStatusType.Started )
      msgbox(cPrintf( "PG- Fehler bei Befehlsausführung: %s", PQerrorMessage(oConn) ))
   else
      FOR i := 1 TO  nTotal
          aadd( arr,  { PQgetvalue(nResult, i-1, 0 ), PQgetvalue(nResult, i-1, 1 ) , PQgetvalue(nResult, i-1, 2 ) , PQgetvalue(nResult, i-1, 3 ), , PQgetvalue(nResult, i-1, 4 ) } )
      NEXT
   endif
   ? seconds() - s 
Der Nativer Zugriff der benötigt dann nur noch 0.02 Sekunden bis die 13 Datensätze mit 5 Feldern im Array stehen.

Die PostgreSQL DatabaseEngine setzt obige SELECT in der selben Zeit um.

Du siehst am Code, ich bin noch am Suchen des "Besten Weges" für mich ........ Nativ oder DatabaseEngine ......

Aber absolut gewaltige Such Zeiten, das öffnet ja ganz neue Möglichkeiten

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MP3 Song Datenbank

Beitrag von AUGE_OHR »

ramses hat geschrieben:Der Nativer Zugriff der benötigt dann nur noch 0.02 Sekunden bis die 13 Datensätze mit 5 Feldern im Array stehen.

Die PostgreSQL DatabaseEngine setzt obige SELECT in der selben Zeit um.
das sieht mir aber nach Cache aus ;-)
ramses hat geschrieben:Du siehst am Code, ich bin noch am Suchen des "Besten Weges" für mich ........ Nativ oder DatabaseEngine ......
wenn du in der Lage bist den native Weg zu gehen dann hast du alles selbst in der Hand.
bei Alaskas Konzept könntest du schnell an die Grenzen kommen ... wenn du "mehr" willst.
ramses hat geschrieben:Aber absolut gewaltige Such Zeiten, das öffnet ja ganz neue Möglichkeiten
und wenn man dazu auch andere Control nehmen würde ... :-"
gruss by OHR
Jimmy
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

Hallo Jimmy
AUGE_OHR hat geschrieben:wenn du in der Lage bist den native Weg zu gehen dann hast du alles selbst in der Hand.
bei Alaskas Konzept könntest du schnell an die Grenzen kommen ... wenn du "mehr" willst.
da hast du recht. Schneller als erwartet.

Code: Alles auswählen

SELECT * FROM musik VIA (oSession)
bezw. die DacSqlStatement() Objekt Funktionen der pgdbe benötigt zur Ausführung der Zeile ganze 10 Sekunden......

Gruss Carlo
Valar Morghulis

Gruss Carlo
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: MP3 Song Datenbank

Beitrag von georg »

Tja, Carlo -


ich zitiere (wörtlich) aus der Mail, die Alaska gerade herumgeschickt hat:
of the PostgreSQL ISAM emulation
Ups, vom Universal-SQL sind wir da wohl noch eine Weile weg. Und die meisten wissen wohl, was eine Emulation ist ...

Vielleicht verstehst Du jetzt, warum ich vor Jahren (!) auf die ganze DBE-Geschichte verzichtet habe und mit Begeisterung Hector's SQL-Wrapper verwende. Ob MySQL oder PostgreSQL, das macht für mich keinen Unterschied. Es gibt schnellen und sicheren Datenzugriff aus Xbase++ heraus, der nicht durch eine DBE eingeengt wird.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

Hallo Georg
georg hat geschrieben:Vielleicht verstehst Du jetzt, warum ich vor Jahren (!) auf die ganze DBE-Geschichte verzichtet habe und mit Begeisterung Hector's SQL-Wrapper verwende.
Ja voll und ganz. Ich habe mir dies jetzt selbst erarbeitet und verfiziert: Der einzige Weg zu Power führt momentan (heute) einzig über "Hector's SQL-Wrapper" ....... ich bin über die krassen Unterschiede selbst überrascht.....
Der Wrapper bezw. API-Funktionen hat noch den Vorteil dass es z.B perfekte umfangreiche (960 Seiten) Deutsche Dokus zu den PG Funktionen gibt.

Dank an Hector und Pablo deren Arbeiten dies erst so einfach möglich machen!

Gruss Carlo
Valar Morghulis

Gruss Carlo
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

Hallo Jimmy
AUGE_OHR hat geschrieben:das sieht mir aber nach Cache aus ;-)
Nein, das ist auch nach Neustart des Servers und mit verschiedenen Abfragen so. Vielleicht ist das die Power von FreeBSD und ZFS Filesystem, ich habe keinen Vergleich zu einem Windows_Server.


Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: MP3 Song Datenbank

Beitrag von brandelh »

Selbst SQLEXPRESS ist mit selekt Abfragen schnell, trotz odbc. Ich war auch immer der Meinung dass 'alles läuft gleich, egal wo' nicht sinnvoll ist. Je weniger Besonderheiten man beim Zielsystem benötigt umso besser. Wenn ein Systemadmin nur für eine Xbase Anwendung genau diesen veralten Server nutzen muss und jede Menge Sonderfelder enthalten sind ... Bei uns wäre das unmöglich durchzusetzen.
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

Hallo Hubert
brandelh hat geschrieben: diesen veralten Server nutzen muss
du meinst damit aber nicht FreeBSD ?

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: MP3 Song Datenbank

Beitrag von brandelh »

Nein, wenn es gepflegt wird ... Ich meine den PostGreSQL Server in der von Alaska gelieferten Version. Oder ist das nun anders geworden?
Gruß
Hubert
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: MP3 Song Datenbank

Beitrag von Werner_Bayern »

Servus Hubert,

läuft bei mir schon immer unter jeder PostgreSQL-Version, sogar der aktuellsten.
es grüßt

Werner

<when the music is over, turn off the lights!>
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

Hallo Huert

bei Alaska bezieht sich die Hilfe / Installationsanleitung auf die 8.7.3 Version die Alaska Hilfe wurde vermutlich geschrieben als diese aktuell war.....

Ich verwende die aktuelle 9.6.2 wobei 9.1.24 und älter bereits nicht mehr "Supported" sind.

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: MP3 Song Datenbank

Beitrag von Jan »

Alaska verwendet die alte Version mit Absicht weiter. Weil nur damit die SQLDBE korrekt funktioniert. Soll wohl auch mit der 9 gehen, aber das ist nicht bestätigt, und es gibt wohl ein paar Änderungen in der 9, die da stören. Und die 10 sowieso überhaupt noch nicht.

Das Problem ist, das Alaska da die normalen DB-Funktionen nutzen lassen will. Damit Umsteiger aus der dbf-Welt ihren Code ganz normal weiter nutzen können. Im Prinzip ein nahtloser Üerbgang wie damals von Clipper nach Xbase++. Was in SQL natürlich so nicht überall geht, weil das eben nicht Satzorientiert arbeitet wie die dbf. Also verbiegen die da so einiges, um das irgendwie hinzubekommen. Die haben sich damals PostgreSQL ausgesucht, weil nur dort dieser Weg funktioniert. Und sich halt in der 8 festgefressen, die damals aktuell war. Wenn man einfach nur SQL-Anweisungen nutzt, geht das mit jeder Version. Und auch allen SQL-Fabrikaten.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

Hallo Jan
Jan hat geschrieben:Alaska verwendet die alte Version mit Absicht weiter.
gut zu wissen. Aber eine höchst unkluge Entscheidung den so eine alte Version (8.7) ist in BSDPort nicht mehr verfügbar .....

Woher hast du den diese Infos?


Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: MP3 Song Datenbank

Beitrag von Jan »

Carlo,

das hat Steffen oft genug auf verschiedenen Konferenzen so dargelegt.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

Hallo Jan

danke. Wenn dem wirklich so ist müsste dies auch unmissverständliche jedem User mitgeteilt werden .....

Aber egal, ich habe mich zum Glück entschieden den Wrapper zu verwenden.

Auf "Jugend forscht" um herauszufinden was die "macher" wissen und nicht kommunizieren habe weder Zeit noch Lust.




Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: MP3 Song Datenbank

Beitrag von brandelh »

das steht auch so irgendwo bei dem Installationspaket oder der Hilfe ... ich meine aus Support Gründen ...
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

Hallo Hubert

in der Hilfe steht:
The PostgreSQL DatabaseEngine supports all PostgreSQL servers, starting with Version 8.2 or higher.
Was nun?

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: MP3 Song Datenbank

Beitrag von Jan »

Ach ja, die Doku ... Seit wie vielen Jahren schon erzählt Alaska, das die noch nicht komplett ist,. das aber kommen wird? Und vor 1 1/2 Jahren hat Steffen mir erzählt, das es eine geniale Doku zur PostgreSQL-Integration geben wird, die sei schon fast fertig. Wir haben uns ja inzwischen alle leidgeprüft an die dehnbaren Zeitbegriffe von Alaska gewöhnt. Auch wenn uns das immer wieder aufs Neue ärgert.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: MP3 Song Datenbank

Beitrag von brandelh »

ok, dann ist die alte info wohl überholt, ISAM EMU kommt mir dennoch nicht ins haus
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

brandelh hat geschrieben:ok, dann ist die alte info wohl überholt, ISAM EMU kommt mir dennoch nicht ins haus
Da gebe ich dir als SQL Anfänger völlig recht. Ich habe einige gute deutsche Anleitungen zu PG und dessen Funktionen und API gefunden, damit und Hectors Wrapper ist es mit einigem Aufwand möglich PG zu verwenden ohne a la "Graf Yoster" herauszufinden wie jetzt die pdDbe funktioniert.

Anscheinend scheint ja Frank zu wissen dass ihre Doku ein Desaster ist....

Gruss Carlo
Valar Morghulis

Gruss Carlo
Antworten