Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD14] Firebird Embedded Server et clauses SQL

6 réponses
Avatar
Fredo G-MDI
Bonjour,

je souhaiterai utiliser pour mes bases locales (postes nomades) la DLL
fembed.dll de Firebird qui intègre un client et un serveur. Le but étant de
ne pas avoir à installer de package pour gérer cette base de données.
J'aimerai pouvoir dans un premier temps créer en dynamique une base de
données (C:\Test\Test.fdb par exemple) et par la suite pouvoir m'y connecter
en utilisant les clauses SQLExec de Windev. Autre question, faut-il lancer
une commande pour démarrer et arrêter le serveur embarqué, ou le fait de
charger la DLL le gère automatiquement ?
Toute piste, bout de code, etc à ce sujet serait le bienvenu.

Merci d'avance.

6 réponses

Avatar
Jerome PAULIN
Fredo G-MDI a écrit :
Bonjour,

je souhaiterai utiliser pour mes bases locales (postes nomades) la DLL
fembed.dll de Firebird qui intègre un client et un serveur. Le but étant de
ne pas avoir à installer de package pour gérer cette base de données.
J'aimerai pouvoir dans un premier temps créer en dynamique une base de
données (C:TestTest.fdb par exemple) et par la suite pouvoir m'y connecter
en utilisant les clauses SQLExec de Windev. Autre question, faut-il lancer
une commande pour démarrer et arrêter le serveur embarqué, ou le fait de
charger la DLL le gère automatiquement ?
Toute piste, bout de code, etc à ce sujet serait le bienvenu.

Merci d'avance.




Salut Fredo,

Avec fbembed.dll, pas besoin de lancer de serveur, la dll embarque un
client et un serveur simplifié (pas de gestion réseau, entre autre).

exemple de sql pour le create database :
CREATE DATABASE 'employee.gdb' PAGE_SIZE 2048;

Par contre, il me semble me souvenir qu'il faut obligatoirement donner
une base de données lors d'une connexion ...

gg
Avatar
Fredo G-MDI
Merci pour ta réponse gg. Par contre j'ai un dernier petit souci, pour la
création de ma base de données j'utilise un script qui fonctionne sous
MySQL, SQLServer avec un SQLTransaction(sqlDebut) et SQLTransaction(sqlFin).
Pour firebird ça ne fonctionne pas, je suis obligé d'enlever ces deux
commandes de Transaction pour que la base se crée, des idées ?

"Jerome PAULIN" a écrit dans le message de
news: h4jhvn$ur1$
Fredo G-MDI a écrit :
Bonjour,

je souhaiterai utiliser pour mes bases locales (postes nomades) la DLL
fembed.dll de Firebird qui intègre un client et un serveur. Le but étant
de ne pas avoir à installer de package pour gérer cette base de données.
J'aimerai pouvoir dans un premier temps créer en dynamique une base de
données (C:TestTest.fdb par exemple) et par la suite pouvoir m'y
connecter en utilisant les clauses SQLExec de Windev. Autre question,
faut-il lancer une commande pour démarrer et arrêter le serveur embarqué,
ou le fait de charger la DLL le gère automatiquement ?
Toute piste, bout de code, etc à ce sujet serait le bienvenu.

Merci d'avance.


Salut Fredo,

Avec fbembed.dll, pas besoin de lancer de serveur, la dll embarque un
client et un serveur simplifié (pas de gestion réseau, entre autre).

exemple de sql pour le create database :
CREATE DATABASE 'employee.gdb' PAGE_SIZE 2048;

Par contre, il me semble me souvenir qu'il faut obligatoirement donner une
base de données lors d'une connexion ...

gg


Avatar
Firetox
Bonjour,

Dans Firebird "tout est transaction", il n'est pas possible d'exécuter une
requête hors du contexte d'une transaction. Vous ne le savez probablement
pas si vous utilisez des suites de composants d'accès à Firebird comme le
BDE et les objets TTable qui se chargent pour vous de gérer les transactions
nécessaires à l'exécution des requêtes sous-jacentes au fonctionnement d'une
TTable. Les autres, ceux qui utilisent des composants spécifiques à Firebird
(et Interbase) comme UIB, IBX, FIB ou IBO savent qu'ils doivent
systématiquement utiliser une transaction pour toute requête qu'ils font
exécuter par leur SGBD préféré sous peine de voir les performances se
dégrader considérablement.

donc il faut simplement enlever le SQLTransaction(sqlDebut) le fait
d'executer une requete demarre automatiquement une transaction c'est la
terminaison qui va etre differentes. un exec si aucune transaction est
ouvert en ouvre une sinon il ne fait rien et attend le fin transaction ou
annule

normalement le SQLTransaction(sqlFin). devrait faire l'affaire

Bon dev
@+


"Fredo G-MDI" a écrit dans le message de
news:4a6d80a9$0$9362$
Merci pour ta réponse gg. Par contre j'ai un dernier petit souci, pour la
création de ma base de données j'utilise un script qui fonctionne sous
MySQL, SQLServer avec un SQLTransaction(sqlDebut) et
SQLTransaction(sqlFin). Pour firebird ça ne fonctionne pas, je suis obligé
d'enlever ces deux commandes de Transaction pour que la base se crée, des
idées ?

"Jerome PAULIN" a écrit dans le message de
news: h4jhvn$ur1$
Fredo G-MDI a écrit :
Bonjour,

je souhaiterai utiliser pour mes bases locales (postes nomades) la DLL
fembed.dll de Firebird qui intègre un client et un serveur. Le but étant
de ne pas avoir à installer de package pour gérer cette base de données.
J'aimerai pouvoir dans un premier temps créer en dynamique une base de
données (C:TestTest.fdb par exemple) et par la suite pouvoir m'y
connecter en utilisant les clauses SQLExec de Windev. Autre question,
faut-il lancer une commande pour démarrer et arrêter le serveur
embarqué, ou le fait de charger la DLL le gère automatiquement ?
Toute piste, bout de code, etc à ce sujet serait le bienvenu.

Merci d'avance.


Salut Fredo,

Avec fbembed.dll, pas besoin de lancer de serveur, la dll embarque un
client et un serveur simplifié (pas de gestion réseau, entre autre).

exemple de sql pour le create database :
CREATE DATABASE 'employee.gdb' PAGE_SIZE 2048;

Par contre, il me semble me souvenir qu'il faut obligatoirement donner
une base de données lors d'une connexion ...

gg






Avatar
Fredo G-MDI
Un grand merci, cela fonctionne désormais

"Firetox" a écrit dans le message de news:
4a6dbb5f$0$429$
Bonjour,

Dans Firebird "tout est transaction", il n'est pas possible d'exécuter une
requête hors du contexte d'une transaction. Vous ne le savez probablement
pas si vous utilisez des suites de composants d'accès à Firebird comme le
BDE et les objets TTable qui se chargent pour vous de gérer les
transactions nécessaires à l'exécution des requêtes sous-jacentes au
fonctionnement d'une TTable. Les autres, ceux qui utilisent des composants
spécifiques à Firebird (et Interbase) comme UIB, IBX, FIB ou IBO savent
qu'ils doivent systématiquement utiliser une transaction pour toute
requête qu'ils font exécuter par leur SGBD préféré sous peine de voir les
performances se dégrader considérablement.

donc il faut simplement enlever le SQLTransaction(sqlDebut) le fait
d'executer une requete demarre automatiquement une transaction c'est la
terminaison qui va etre differentes. un exec si aucune transaction est
ouvert en ouvre une sinon il ne fait rien et attend le fin transaction ou
annule

normalement le SQLTransaction(sqlFin). devrait faire l'affaire

Bon dev
@+


"Fredo G-MDI" a écrit dans le message de
news:4a6d80a9$0$9362$
Merci pour ta réponse gg. Par contre j'ai un dernier petit souci, pour la
création de ma base de données j'utilise un script qui fonctionne sous
MySQL, SQLServer avec un SQLTransaction(sqlDebut) et
SQLTransaction(sqlFin). Pour firebird ça ne fonctionne pas, je suis
obligé d'enlever ces deux commandes de Transaction pour que la base se
crée, des idées ?

"Jerome PAULIN" a écrit dans le message de
news: h4jhvn$ur1$
Fredo G-MDI a écrit :
Bonjour,

je souhaiterai utiliser pour mes bases locales (postes nomades) la DLL
fembed.dll de Firebird qui intègre un client et un serveur. Le but
étant de ne pas avoir à installer de package pour gérer cette base de
données. J'aimerai pouvoir dans un premier temps créer en dynamique une
base de données (C:TestTest.fdb par exemple) et par la suite pouvoir
m'y connecter en utilisant les clauses SQLExec de Windev. Autre
question, faut-il lancer une commande pour démarrer et arrêter le
serveur embarqué, ou le fait de charger la DLL le gère automatiquement
?
Toute piste, bout de code, etc à ce sujet serait le bienvenu.

Merci d'avance.


Salut Fredo,

Avec fbembed.dll, pas besoin de lancer de serveur, la dll embarque un
client et un serveur simplifié (pas de gestion réseau, entre autre).

exemple de sql pour le create database :
CREATE DATABASE 'employee.gdb' PAGE_SIZE 2048;

Par contre, il me semble me souvenir qu'il faut obligatoirement donner
une base de données lors d'une connexion ...

gg









Avatar
Antoine
Bonjour Fredo G-MDI,

Ce n'est pas une réponse mais plutôt une question.... car pour ma part,
j'utilise Firebird "embedded" (donc sans que le serveur Firebird soit
installé) avec Windev, mais avec une façon perso d'accéder à la base de
données. Je souhaitais savoir quel était le moyen que vous avez utilisé pour
accéder à Firebird "embedded" depuis Windev ? L'accès FB4WD de SqlManagerX ?
L'accès ODBC ? Ou bien une autre méthode ??

Merci pour l'info,
Antoine


"Fredo G-MDI" a écrit dans le message de news:
4a683d4e$0$22644$
Bonjour,

je souhaiterai utiliser pour mes bases locales (postes nomades) la DLL
fembed.dll de Firebird qui intègre un client et un serveur. Le but étant
de ne pas avoir à installer de package pour gérer cette base de données.
J'aimerai pouvoir dans un premier temps créer en dynamique une base de
données (C:TestTest.fdb par exemple) et par la suite pouvoir m'y
connecter en utilisant les clauses SQLExec de Windev. Autre question,
faut-il lancer une commande pour démarrer et arrêter le serveur embarqué,
ou le fait de charger la DLL le gère automatiquement ?
Toute piste, bout de code, etc à ce sujet serait le bienvenu.

Merci d'avance.



Avatar
Fredo G-MDI
Bonjour Antoine, accès ODBC avec le driver et la DLL FbODBC.DLL de mémoire.

"Antoine" a écrit dans le message de news:
4a8d9c8b$0$434$
Bonjour Fredo G-MDI,

Ce n'est pas une réponse mais plutôt une question.... car pour ma part,
j'utilise Firebird "embedded" (donc sans que le serveur Firebird soit
installé) avec Windev, mais avec une façon perso d'accéder à la base de
données. Je souhaitais savoir quel était le moyen que vous avez utilisé
pour accéder à Firebird "embedded" depuis Windev ? L'accès FB4WD de
SqlManagerX ? L'accès ODBC ? Ou bien une autre méthode ??

Merci pour l'info,
Antoine


"Fredo G-MDI" a écrit dans le message de news:
4a683d4e$0$22644$
Bonjour,

je souhaiterai utiliser pour mes bases locales (postes nomades) la DLL
fembed.dll de Firebird qui intègre un client et un serveur. Le but étant
de ne pas avoir à installer de package pour gérer cette base de données.
J'aimerai pouvoir dans un premier temps créer en dynamique une base de
données (C:TestTest.fdb par exemple) et par la suite pouvoir m'y
connecter en utilisant les clauses SQLExec de Windev. Autre question,
faut-il lancer une commande pour démarrer et arrêter le serveur embarqué,
ou le fait de charger la DLL le gère automatiquement ?
Toute piste, bout de code, etc à ce sujet serait le bienvenu.

Merci d'avance.