Seite 2 von 3
Re: MySQL C Library
Verfasst: 07.08.2011 12:35
von ts-soft
@Velz
Ich nutze zwar kein mysql, aber es liegt die Vermutung nahe, das es CDECL nutzt, also PrototypeC!
Das gilt dann meist für Windows und Linux, aber darauf kann man sich auch nicht immer verlassen.
Re: MySQL C Library
Verfasst: 07.08.2011 12:55
von Velz
Kaum hat man sich 3-4 Jahre nicht mit Neuerungen beschäftigt, hat man eine Baustelle...
Import liest sich sehr gut! Ich werde das mal testen.
Die Frage bleibt, ob ich nicht gleich auf PostGres umsteige. Hat da jemand Erfahrung? Funktioniert die Integration stabil?
Re: MySQL C Library
Verfasst: 07.08.2011 13:31
von ts-soft
Velz hat geschrieben:Die Frage bleibt, ob ich nicht gleich auf PostGres umsteige
Würde ich alleine Aufgrund der Lizenz schon machen, obwohl mir die genauen Lizenzkosten bei
MySQL (Oracle) nicht bekannt sind, nehme ich nicht an, das es nur Pinatz sind.
Solange MySQL auf einem WebServer läuft und von Außen nicht erreichbar sollte GPL ja nicht
stören, aber Datenbankanwendungen werden eher ungern unter GPL gestellt.
Ich hoffe mal Deine Anwendung ist für eine Firmeninterne Netzstruktur und nicht für einen WebServer,
weil das Sicherheitsrisiko ist wohl eher zu hoch als das man es eingehen sollte. Da nimmt man dann eher
einen PHP-Script, der die Daten aufbereitet.
Gruß
Thomas
Re: MySQL C Library
Verfasst: 07.08.2011 15:56
von SirMatti74
Der MySQL Community Server ist lizensiert unter GPL und darf kostenlos genutzt, heruntergeladen, weitergegeben und sogar selbst umprogrammiert werden (wenn man mag und kann). Neben dem Community Server gibt es die kommerzielle Enterprice Edition (von der aber sicherlich hier nicht die Rede ist).
PostgreSQL ist lizensiert unter der eigenen PostgreSQL-Lizens, die angelehnt an die BSD-Lizens ist. Auch hier darf kostenlos genutzt, heruntergeladen und weitergeben, jedoch nicht dran herumgebastelt werden.
Von der Lizenz her sehe ich bei beiden keinen Grund, weshalb man das eine DBMS nehmen soll oder nicht.
Von PostgreSQL hat mich abgeschreckt, dass einfache Sachen nicht direkt vorhanden sind und diese umständlich über Trigger o.ä. erschlagen müssen (z.B. autoincrement). Nach hinten heraus soll PostgreSQL aber sehr leistungsfähig sein. Bei MySQL habe ich alles gefunden, was ich brauch und bin auch von der Leistung her vollkommen zufrieden. Meine Wahl fiel also auf MySQL...
Re: MySQL C Library
Verfasst: 07.08.2011 16:04
von ts-soft
SirMatti74 hat geschrieben:Von der Lizenz her sehe ich bei beiden keinen Grund, weshalb man das eine DBMS nehmen soll oder nicht.
Doch, GPL, also muß ich meinen Source, der MySQL nutzt, unter der GPL frei geben, oder alternativ eine
Lizenz bei Oracle kaufen.
Es geht auch nicht um 2 Versionen von MySQL, sondern um eine unter einer Dual-Lizenz. Deine Infos sind also irgendwie
inkorrekt.
Re: MySQL C Library
Verfasst: 07.08.2011 16:33
von ts-soft
Hab hier mal was rausgesucht:
http://www.delphi-forum.de/viewtopic.ph ... sc&start=0
Dort gibt es es auch unterschiedliche Auffassungen, aber ich denke, ich liege schon richtig mit dem vorher
geposteten.
Re: MySQL C Library
Verfasst: 07.08.2011 20:58
von Velz
Ich grüble schon bestimmt 2 Jahre über dem Thema. Habe aber die Lizenzen vermutlich nicht wirklich kapiert.
Sorgen mache ich mir eher um die Produktpolitik bei MySQL, bestes Beispiel sind die GUI-Tools. Die neue Version ist mir ein Graus.
Ich werde es aber erst mal mit einer neuen MySQL-Include auf Basis von Import versuchen, schon wegen der bestehenden Programme.
Wenn es sich nicht problemlos umsetzen lässt, wird es PostGres... und gut is!
>>ok Import und libmysql.lib kann man vergessen!
Weiter mit Prototype.... seid ihr sicher, dass die alten CallFunction wirklich so übel waren?
Re: MySQL C Library
Verfasst: 08.08.2011 01:13
von Velz
Also... mit Prototype hat es sehr gut funktioniert. Supi!
Muss mal ein Beispiel erstellen..!
Ansonsten, wer eine libmysql-include braucht, einfach PN!
Re: MySQL C Library
Verfasst: 08.08.2011 02:12
von Danilo
Velz hat geschrieben:Also... mit Prototype hat es sehr gut funktioniert. Supi!
Muss mal ein Beispiel erstellen..!
Ansonsten, wer eine libmysql-include braucht, einfach PN!
Probiere unbedingt noch ob Prototype richtig ist, oder Du Prototype
C verwenden mußt!
Du hast einmal CallFunction gezeigt und das andere mal Call
CFunction.
Der C-Code gibt keinen Hinweis auf stdcall, also wird es sehr warscheinlich
nur mit PrototypeC funktionieren.
Testen kannst Du das, indem Du eine Funktion mit Argumenten über mehrere (min. 2)
Prozeduren aufrufst. Beispielsweise so:
Code: Alles auswählen
Prototype.i proto_connect(mysql.i, host.p-ascii, user.p-ascii, passwd.p-ascii, db.p-ascii, port.l, unix_socket.p-ascii, client_flag.l)
ProcedureC mysql_real_connect(mysql.i, host.s, user.s, passwd.s, db.s, port.l, unix_socket.s, client_flag.l)
ProcedureReturn 1234
EndProcedure
Procedure Funktion2()
mysql_real_conntect.proto_connect = @mysql_real_connect()
;mysql_real_conntect.proto_connect=GetFunction(1, "mysql_real_connect")
If mysql_real_conntect
x = mysql_real_conntect(dbHnd, host.s, user.s, passwd.s, db.s, port,null.s, 0)
EndIf
Debug x
EndProcedure
Procedure Funktion1()
Funktion2()
EndProcedure
Funktion1()
Debug "END"
Nimm also einen kleinen
funktionieren Testcode und setze ihn in diese
Funktion2(). Wenn es dann beim Rücksprung crasht mußt Du PrototypeC
verwenden, dann darf es nicht mehr crashen (wie in dem Beispiel).
Testen mußt Du mit x86 (32bit) Compiler.
Re: MySQL C Library
Verfasst: 08.08.2011 12:48
von Velz
aha, interessanter Test.... ! Endlich weiß ich wie man diese Frage eindeutig klärt!
Mit Prototype funktioniert es, bei PrototypeC erfolgt der crash!
Soweit unter WindowsXP!
Unter Ubuntu 11.4 64 erfolgt weder mit C noch ohne C ein crash! Beides läuft.
Das schöne daran, Prototype ist vollständig kompatibel und man braucht für die Nutzung unter Linux nichts zu ändern!