Français
Forum

SQL, Firebird / Interbase et XProfan

 
- page 1 -



Dietmar
Horn
allô zusammen,

aujourd'hui wende je mich la fois avec einem SQL-Problem zwecks s'il te plaît um Hilfestellung à qui SQL-Experten sous euch.

je travaille z.Z. avec XProfan 11 à einem komplexeren projet. c'est déjà droite large gediehen. qui bisher einzigste, mais entscheidende Problempunkt ist pour mich qui à- bzw. Einbindung des RDBS Firebird (Freeware bzw. Open-Source) bzw. Interbase (cela kostenpflichtige Gegenstück de Borland trop Firebird - ähnlich comment cela Relations entre MS Office et Open-Office).

Bisher mußte je mich encore nie grand avec SQL beschäftigen, sauf qui je mir toujours fois le XProfan-Aider zum SQL-Thema reingezogen et cela alles comme droite logisch empfunden hatte. Doch comment des öfteren, liegt qui le chien bestimmt seulement dans einem winzigen Detail begraben, quoi je pas kenne, ou bien dans einem faute, den je gemacht ou bien übersehen habe.

Firebird et Interbase kannte je jusqu'à avant 4 Wochen encore pas la fois vom Namen her, weil je quelque chose comme encore nie nécessaire hatte - mais eh bien ist es soweit.

ODBC-Treiber et Firebird sommes installiert.

Zunächst ca va tout autor, une liaison herzustellen. sous Windows 2000 (dans unserem Vereins-cabinet) klappt qui initialisation avec SQLInit inzwischen.

qui initialisation liefert sous W 2000 comment gewünscht cela Handle zurück:
var i% = SQLINIT(DSN=Firebird;)
messagebox(str$(i%),,4160)

sous Windows XP ergibt cela cependant jusqu'à maintenant toujours 0 (alors gescheitert), et im opposition trop W 2000 erscheint là auparavant encore pas la fois qui Dialog zum Eingeben de Username, PWD, usw.

Bevor cet Problem avec dem Herstellen qui liaison pas gelöst ist, brauche je gar pas grand weitermachen.

Literatur sur Firebird habe je inzwischen tonnenweise, doch bevor je es pas schaffe, sur allen Windows-Systemen ab 2000 aufwärts une zuverlässige liaison herzustellen, nützt mir cela alles malheureusement pas allzu viel.

peux mir peut-être quelqu'un weiterhelfen, qui sich déjà la fois quelque chose näher avec cela beschäftigt hat?

qui prochain Schritte, alors cela Neuanlegen einer banque de données, ou bien cela Travailler / Lecture einer vorhandenen DB et cela Weiterverarbeiten qui données im réel Programme pourrait ensuite lediglich encore einer reine Fleiß- et Logik-travail son.

cela Ausweichen z.B. sur dBase ist pas possible, weil dBase dbzgl. pas sur qui pour cet projet erforderlichen Feautures verfügt.

qui peux peut-être. weiterhelfen?

je vermute la fois, si cela Programme irgendwann avec Firebird fonctionne, ensuite devrait cela Programme aussi avec Interbase marcher - ou bien?

Salut et merci d'avance
Dietmar

111 kB
Hochgeladen:11.01.2009
Downloadcounter208
Download
33 kB
Hochgeladen:11.01.2009
Downloadcounter171
Download
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
11.01.2009  
 



 
- page 6 -



RGH
Uwe Pascal Niemeier

@ Roland: quand wird es une entsprechenden Patch donner? Es hat sich oui doch einiges angesammelt, quoi korrigiert volonté devrait...

SeeYou
Pascal


Huch, quoi car alles? Mir fällt là encore qui seulement pour sur einem l'an entdeckte Bug chez REPEAT ... UNTIL un.
mais eswird sûrement um Pâques encore un Bugfix (11.1a) ou bien Update (11.2) donner. peut-être habe je oui encore une concept zum BLOB-écrivons ...

Salut
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
01.03.2009  
 




Uwe
''Pascal''
Niemeier
Hi Roland!

Roland
Huch, quoi car alles?


J'ai pensé là à qui l'affaire avec StringW , qui Unregelmäßigkeit chez Pointern comme paramètre ou bien qui Probleme avec Memory-DCs chez Startpaint ...(alors im Prinzip alles déjà erledigt)
Avec l' Repeat...Until  c'est moi eigentlich égal
et qui BLOBs volonté oui par qui 64KB-frontière des Treibers versaut

SeeYou
Pascal
(qui pour un geplantes projet weder sur XProfan 11 encore sur ocx verzichten veux)
 
01.03.2009  
 



Uwe Pascal Niemeier
(qui ... weder sur XProfan 11 encore sur ocx verzichten veux)


< -- des auch gern hätt
 
01.03.2009  
 




Dietmar
Horn

et qui BLOBs volonté oui par qui 64KB-frontière des Treibers versaut


cela peux so pas stimmen, car autre Konkurrenzprodukte trop meinem bzw. unserem aktuellen projet travailler avec echten Blobs dans Interbase et Firebird (cependant dans C et Delphi programmiert). seulement avec XProfan scheint cela jusqu'à maintenant malheureusement plan encore pas trop marcher.

aussi qui EMS-SQL-Manager peux echte Blob-Felder anlegen - alors doit cela oui irgendwie aller. avec irgendeiner 32- ou bien 64-KB-frontière irgendeines ODBC-Treibers pourrait cela rien trop 1faire avons, car theoretisch peut dans solchen Blob-Feldern beliebige Binär-données notfalls avec des centaines GB Taille gespeichert volonté. Bien sûr pas direct im Blob-champ, car là wird probablement seulement un Verweis puis stehen, wohin oui c'est ca dans qui DB qui zugehörigen données abgespeichert bzw. pour trouver sommes. Doch um cet Verwalterei kümmert sich qui IB-/FB-DB interne oui offensichtlich selber.

si Roland le reste vernünftig hinbekommt, ensuite wäre dem Erstellen de riesigen Datenbankanwendungen jusqu'à dans den GB- bzw. TB-Bereich avec XProfan wahrscheinlich absolu aucun Grenzen plus gesetzt - zumal Firebird comme relationales SQL-Datenbanksystem aussi pour gewerbliche Anwendungen kostenlos zur Disposition steht et justement im kommerziellen Bereich inzwischen bereits très large verbreitet ist.

Salut
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
01.03.2009  
 




RGH
Uwe Pascal Niemeier
J'ai pensé là à qui l'affaire avec StringW , qui Unregelmäßigkeit chez Pointern comme paramètre ou bien qui Probleme avec Memory-DCs chez Startpaint ...(alors im Prinzip alles déjà erledigt)


eh, cet Kleinigkeiten habe je déjà erledigt et hatte vous wohl gedanklich bereits abgehakt.

quoi ODBC et BLOB betrifft, so experimentiere je et avec ca. qui dessus de mir skizzierte Weg serait qui 64k-frontière pour SQL-Statements tourner autour de. mais en supplément brauche je et avec ca Zeit.

Salut
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
01.03.2009  
 



Ähm.. fällt cela avec dem Verschachteln de GOSUB´s aussi sous Kleinigkeiten? cela serait mir nämlich qui Umschreiberei de ca. 17 älteren Profanprogrammen ersparen. s'il te plaît pas oublier qc!
Salut
 
01.03.2009  
 




RGH
Peter Specht
Ähm.. fällt cela avec dem Verschachteln de GOSUB´s aussi sous Kleinigkeiten? cela serait mir nämlich qui Umschreiberei de ca. 17 älteren Profanprogrammen ersparen. s'il te plaît pas oublier qc!
Salut


oui, c'est aussi déjà erledigt (chez mir zumindest). (et cela, obohl es GOSUB oui officiel déjà longtemps pas plus gibt et seulement encore une undokumentierte Geschichte ist, qui aus Kompatibilitätsgründen plus existiert.)

Salut
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
01.03.2009  
 



Superst! Basic-Ähnlichkeit gerettet. Vielen Dank d'avance!
Salut
 
01.03.2009  
 




RGH
Dietmar Horn

Dietmar Horn
et qui BLOBs volonté oui par qui 64KB-frontière des Treibers versaut


cela peux so pas stimmen, car autre Konkurrenzprodukte trop meinem bzw. unserem aktuellen projet travailler avec echten Blobs dans Interbase et Firebird (cependant dans C et Delphi programmiert). seulement avec XProfan scheint cela jusqu'à maintenant malheureusement plan encore pas trop marcher.


cet anderen Programme kommunizieren sous Umständen (avec ziemlicher Sicherheit) pas per ODBC avec Firebird/Interbase, mais direct. voilà naturellement entier autre Sachen possible. XProfan kommuniziert seulement sur ODBC avec allen Datenbanken, qui une solche Schnittstelle bieten. et aussi ici bietet XProfan (zumindest pas sans API) pas alle Opportunités, mais seulement qui communication sur SQL per SQLExec (dem qui ODBC-API SQLExelDirect entspricht). et pour SQL-Statementsgibt es chez Firebird/Interbase plan qui Begrenzung sur 64 kB.
Pascal hat oui déjà gezeigt, comment on qui ODBC-API nutzen peux et je hatte plus dessus oui aich déjà qui APIs erwähnt, avec denen es probablement possible ist, BLOBs sous Umgehung qui 64k-frontière trop befüllen. si je Zeit finde, werde je mir cela la fois anschauen.

Salut
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
01.03.2009  
 




RGH
Uwe Pascal Niemeier
Hi gens!


Mutmaßung: Entweder ist qui db-Unterstützungvon Delphi völlig anders gestrickt comme qui de Profan


Korekt! Delphi peux sur bestimmte Komponenten direct avec Interbase kommunizieren et allez dabei pas sur ODBC.

Salut
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
01.03.2009  
 




Uwe
''Pascal''
Niemeier
Hi Dietmar!


cela peux so pas stimmen, car autre Konkurrenzprodukte trop meinem bzw. unserem aktuellen projet travailler avec echten Blobs dans Interbase et Firebird (cependant dans C et Delphi programmiert). seulement avec XProfan scheint cela jusqu'à maintenant malheureusement plan encore pas trop marcher.


je erinnere nochmal à den vorgeschlagenen Workaround, chez dem qui données dans mehreren Häppchen dans même chose Datenfeld geschrieben volonté. cela Ergebnis ist définitif un echter BLOB!


avec irgendeiner 32- ou bien 64-KB-frontière irgendeines ODBC-Treibers pourrait cela rien trop 1faire avons,...


Roland erwähnte oui, cela ca sogar dans irgendeiner Doku erwähnt wird. cela qui gens de FireBird ses Treiber comme Stiefkinder regarder ist pas Profans Schuld


aussi qui EMS-SQL-Manager peux echte Blob-Felder anlegen


là pourrait on oui la fois regarder, comment il pouvoir...
mais là Roland oui sowieso déjà avec cela zugange ist, lohnt es sich wohl pas, weil cela Ergebnis déjà avec qui prochain Profan-Version obsolete wäre.

SeeYou
Pascal
 
02.03.2009  
 




RGH
et und dir doch: Echte Binäre BLOBs avec XProfan

Bevor je mon obiges Beispielprogramm sur echte BLOBs umschreibe, hierzunächst qui Solution per ODBC-API:
KompilierenMarqueSéparation
window 50,50-500,500
DEF &SQL_PARAM_INPUT    1
DEF &SQL_SUCCESS        0
DEF &SQL_HANDLE_STMT    3
DEF &SQL_C_DEFAULT     99
DEF &SQL_CHAR           1
DEF &SQL_NUMERIC        2
DEF &SQL_DECIMAL        3
DEF &SQL_INTEGER        4
DEF &SQL_SMALLINT       5
DEF &SQL_FLOAT          6
DEF &SQL_REAL           7
DEF &SQL_DOUBLE         8
DEF &SQL_VARCHAR       12
DEF &SQL_DATE           9
DEF &SQL_TIME          10
DEF &SQL_TIMESTAMP     11
DEF &SQL_LONGVARCHAR   -1
DEF &SQL_BINARY        -2
DEF &SQL_VARBINARY     -3
DEF &SQL_LONGVARBINARY -4
DEF &SQL_BIGINT        -5
DEF &SQL_TINYINT       -6
DEF &SQL_BIT           -7
def SQLAllocHandle(3) !odbc32,SQLAllocHandle
def SQLFreeHandle(2) !odbc32,SQLFreeHandle
def SQLPrepare(3) !odbc32,SQLPrepare
def SQLBindParameter(10) !odbc32,SQLBindParameter
def SQLExecute(1) !odbc32,SQLExecute

proc SQLPutBlob

    parameters Exec$, DATA#
    declare stmt&, size&, ret%, error$
    SQLAllocHandle(&SQL_HANDLE_STMT, &SQLDBC, addr(stmt&))
    size& = SizeOf(Data#)
    Ret% = SQLBindParameter(stmt&, 1, &SQL_PARAM_INPUT, &SQL_BINARY, &SQL_LONGVARBINARY,
    SizeOf(Data#), 0, Data#, 0, Addr(size&))

    If LoWord(Ret%) = &SQL_SUCCESS

        Ret% = SQLPrepare(stmt&,addr(Exec$),len(Exec$))

        If LoWord(Ret%) = &SQL_SUCCESS

            Ret% = SQLExecute(stmt&)
            Case LoWord(Ret%) <> &SQL_SUCCESS : Error$ = SQLExecute

        Else

            error$ = SQLPrepare

        EndIf

    Else

        error$ = SQLBindParameter

    EndIf

    Case Len(error$) : MessageBox(error$ +  fehlgeschlagen!, ODBC-Fehler, 16)
    SQLFreeHandle(&SQL_HANDLE_STMT, stmt&)

endproc

Declare Bild#
CLS
Var datei$ = HELLOWEEN.JPG
Dim Bild#, FileSize(datei$)
BlockRead(datei$, Bild#, 0, FileSize(datei$))
var db& = sqlinit(DSN=KursDB;UID=SYSDBA;PWD=masterkey;DBNAME=D:\Dokumente\FireBird\KURSDB.GDB)
SQLPutBlob(INSERT INTO TCS (Feld1) VALUES (?), Bild#)
SQLDone
Print Blob geschrieben!
waitin
> end

cela Ergebnis peux on avec dem SQL-Manager begutachten et z.B. den geschriebenen BLOB comme Dossier Sauver et cet ensuite avec einem Bildbearbeitungsprogramm betrachten. BTW: Helloween.jpg ist ca. 1,5 MB grand.

Salut
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
02.03.2009  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

18.905 Views

Untitledvor 0 min.
Klaus Kohlhepp20.10.2022
Walter24.02.2022
Rschnett20.02.2019
Peter Max Müller04.02.2019
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie