| |
|
|
- Página 1 - |
|
 Dietmar Horn | ¡Hola zusammen,
heute wende Yo mich veces con un SQL-Problema zwecks Bitte en Hilfestellung a el SQL-Experten bajo euch.
Yo arbeite z.Z. con XProfan 11 a una komplexeren Projekt. Es ya bastante weit gediehen. Der bisher einzigste, aber entscheidende Problempunkt es para mich el An- o. Einbindung des RDBS Firebird (Freeware o. Open-Source) o. Interbase (el kostenpflichtige Gegenstück de Borland a Firebird - ähnlich como el Verhältnis zwischen MS Office y Open-Office).
Bisher mußte Yo mich todavía nie groß con SQL beschäftigen, außer Yo me siempre veces el XProfan-Ayuda para SQL-Thema reingezogen y el alles como bastante logisch empfunden hatte. Doch como des öfteren, liegt el Hund determinado sólo en un winzigen Detalle begraben, Yo no saber, oder en un Fehler, el Yo gemacht oder übersehen habe.
Firebird y Interbase kannte Yo a antes 4 Wochen todavía no veces vom Namen her, porque Yo algo como todavía nie benötigt hatte - aber nun es soweit.
ODBC-Treiber y Firebird son installiert.
Zunächst es por lo tanto, una Verbindung herzustellen. Bajo Windows 2000 (en unserem Vereins-Kabinett) klappt el Initialisierung con SQLInit inzwischen.
El Initialisierung liefert bajo W 2000 como gewünscht el Handle zurück:
Bajo Windows XP ergibt el sin embargo a ahora siempre 0 (also gescheitert), y en el Gegensatz a W 2000 erscheint como vorher todavía no veces el Diálogo para Eingeben de Username, PWD, usw.
Antes dieses Problema con el Herstellen el Verbindung no gelöst es, brauche Yo nada groß weitermachen.
Literatur encima Firebird Yo inzwischen tonnenweise, doch bevor Yo no schaffe, en allen Windows-Systemen de 2000 aufwärts una zuverlässige Verbindung herzustellen, nützt me alles por desgracia, no allzu viel.
Kann me tal vez alguien weiterhelfen, el se ya veces algo näher así beschäftigt ha?
El nächsten Schritte, also el Neuanlegen uno Datenbank, oder el Editar / Auslesen uno vorhandenen DB y el Weiterverarbeiten el Daten en el real Programa dürfte entonces lediglich todavía uno reine Fleiß- y Logik-Arbeit ser.
Das Ausweichen z.B. en dBase es no posible, porque dBase dbzgl. no en para dieses Projekt erforderlichen Feautures verfügt.
Wer kann evtl. weiterhelfen?
Yo vermute veces, si el Programa irgendwann con Firebird se ejecuta, entonces müßte el Programa auch con Interbase trabajo - oder?
Saludo y Gracias en el voraus 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: [...]  | 11.01.2009 ▲ |
|
|
|
| |
|
- Página 6 - |
|
|
 RGH | Uwe Pascal Niemeier
@ Roland: Wann se lo una entsprechenden Parche geben? Lo ha se sí doch einiges angesammelt, qué korrigiert voluntad müßte...
SeeYou Pascal
Huch, qué porque alles? Mir fällt como todavía el sólo después de encima una Jahr entdeckte Bug en REPEAT ... UNTIL una. Aber eswird sicher en Ostern todavía una Bugfix (11.1a) oder Actualización (11.2) geben. Tal vez Yo sí ni Concepto para BLOB-Carta ...
Saludo 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, qué porque alles?
Pensé como a el Sache con StringW , el Unregelmäßigkeit en Pointern como Parámetro o Problemas con Memory-DCs en Startpaint ...(also en el Principio alles ya hecho) Con el Repeat...Until me está eigentlich egal  Und el BLOBs voluntad sí por el 64KB-Grenze des Treibers versaut 
SeeYou Pascal (Der para una geplantes Projekt weder en XProfan 11 todavía en ocx verzichten voluntad) |
|
|
| |
|
|
|
 | Uwe Pascal Niemeier
(Der ... weder en XProfan 11 todavía en ocx verzichten voluntad)
< -- des auch gern hätt |
|
|
| |
|
|
|
 Dietmar Horn |
Und el BLOBs voluntad sí por el 64KB-Grenze des Treibers versaut
Das kann así no stimmen, porque otro Konkurrenzprodukte a mi o. unserem aktuellen Projekt trabajo con echten Blobs en Interbase y Firebird (sin embargo en C y Delphi programmiert). Nur con XProfan scheint el a ahora desafortunadamente eben todavía no a klappen.
Auch el EMS-SQL-Manager kann echte Blob-Felder invertir - also muß el sí irgendwie ir. Mit irgendeiner 32- oder 64-KB-Grenze irgendeines ODBC-Treibers dürfte el nichts a tun haben, porque theoretisch puede en solchen Blob-Feldern beliebige Binär-Daten notfalls con hunderten GB Größe gespeichert voluntad. Natürlich no direkt en el Blob-Feld, porque como se vermutlich sólo una Verweis darauf posición, wo genau en el DB el zugehörigen Daten abgespeichert o. para encontrar son. Doch en esta Verwalterei kümmert el IB-/FB-DB intern sí offensichtlich selber.
Wenn Roland el todavía vernünftig hinbekommt, entonces wäre el Erstellen de riesigen Datenbankanwendungen a en el GB- o. TB-Zona con XProfan wahrscheinlich absolut no Grenzen mehr gesetzt - especialmente Firebird como relationales SQL-Datenbanksystem auch para gewerbliche Anwendungen libre disponible es y gerade en el kommerziellen Zona inzwischen ya muy weit verbreitet es.
Saludo 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
Pensé como a el Sache con StringW , el Unregelmäßigkeit en Pointern como Parámetro o Problemas con Memory-DCs en Startpaint ...(also en el Principio alles ya hecho)
Oh, esta Kleinigkeiten Yo ya hecho y había ellos wohl gedanklich ya abgehakt.
Was ODBC y BLOB betrifft, así experimentiere Todavía algo. Der oben de me skizzierte Weg sería el 64k-Grenze para SQL-Statements umgehen. Aber dazu brauche Todavía algo Tiempo.
Saludo 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 el con el Verschachteln de GOSUB´s auch bajo Kleinigkeiten? Das sería me nämlich el Umschreiberei de ca. 17 älteren Profanprogrammen ersparen. Bitte no vergessen! Saludo |
|
|
| |
|
|
|
 RGH | Peter Pájaro carpintero
Ähm.. fällt el con el Verschachteln de GOSUB´s auch bajo Kleinigkeiten? Das sería me nämlich el Umschreiberei de ca. 17 älteren Profanprogrammen ersparen. Bitte no vergessen! Saludo
Sí, el es auch ya hecho (en me zumindest). (Und el, obohl lo GOSUB sí oficialmente ya largo no mehr son y sólo ni undokumentierte Geschichte es, de Kompatibilitätsgründen más existiert.)
Saludo 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 en el voraus! Saludo |
|
|
| |
|
|
|
 RGH | Dietmar Horn
Dietmar HornUnd el BLOBs voluntad sí por el 64KB-Grenze des Treibers versaut Das kann así no stimmen, porque otro Konkurrenzprodukte a mi o. unserem aktuellen Projekt trabajo con echten Blobs en Interbase y Firebird (sin embargo en C y Delphi programmiert). Nur con XProfan scheint el a ahora desafortunadamente eben todavía no a klappen.
Diese otro Programas kommunizieren bajo Umständen (con ziemlicher Sicherheit) no por ODBC con Firebird/Interbase, pero direkt. Como son natürlich bastante otro Sachen posible. XProfan kommuniziert sólo encima ODBC con allen Datenbanken, el una solche Schnittstelle bieten. Und auch hier bietet XProfan (zumindest no sin API) no todos Möglichkeiten, pero sólo el Kommunikation encima SQL por SQLExec (el el ODBC-API SQLExelDirect entspricht). Und para SQL-Statementsgibt lo en Firebird/Interbase eben el Begrenzung en 64 kB. Pascal ha sí ya gezeigt, cómo el ODBC-API nutzen kann y yo hatte más oben sí aich ya el APIs erwähnt, con denen lo vermutlich posible es, BLOBs bajo Umgehung el 64k-Grenze a befüllen. Wenn Yo Tiempo finde, voluntad Yo el veces anschauen.
Saludo 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 Personas!  Mutmaßung: Entweder Es el db-Unterstützungvon Delphi völlig anders gestrickt como el de Profano
Korekt! Delphi kann encima cierto Komponenten direkt con Interbase kommunizieren y va esta no encima ODBC.
Saludo 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!
Das kann así no stimmen, porque otro Konkurrenzprodukte a mi o. unserem aktuellen Projekt trabajo con echten Blobs en Interbase y Firebird (sin embargo en C y Delphi programmiert). Nur con XProfan scheint el a ahora desafortunadamente eben todavía no a klappen.
Yo erinnere otra vez a el vorgeschlagenen Workaround, en el el Daten en varios Häppchen en dasselbe Datenfeld geschrieben voluntad. Das Ergebnis es definitiv una echter BLOB!
Mit irgendeiner 32- oder 64-KB-Grenze irgendeines ODBC-Treibers dürfte el nichts a tun haben,...
Roland erwähnte sí, el dies incluso en irgendeiner Doku erwähnt se. Das el Personas de FireBird ihre Treiber como Stiefkinder ansehen es no Profans Schuld 
Auch el EMS-SQL-Manager kann echte Blob-Felder invertir
Como podría uno sí veces schauen, como el macht... Aber como Roland sí sowieso ya así zugange es, lohnt lo wohl no, porque el Ergebnis ya con el nächsten Profano-Versión obsolete wäre.
SeeYou Pascal |
|
|
| |
|
|
|
 RGH | Und lo va doch: Echte Binäre BLOBs con XProfan
Antes de que yo mein obiges Beispielprogramm en echte BLOBs umschreibe, hierzunächst el Solución por ODBC-API: KompilierenMarcaSeparaciónwindow 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
Das Ergebnis puede ser con el SQL-Manager begutachten y z.B. el geschriebenen BLOB como Expediente speichern y esta entonces con un Bildbearbeitungsprogramm betrachten. BTW: Helloween.jpg es ca. 1,5 MB groß.
Saludo 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 ▲ |
|
|
|