Cum se instalează firebird împreună cu programul

Cum se instalează Firebird cu programul?

Alo # xA0; vrăjitori! Spuneți-mi ce instalator este mai bine de folosit, astfel încât să puteți instala "liniștit", fără gestul inutil al utilizatorului, avionul de foc și progul? Aș dori ca serverul să pornească automat după instalare pentru a rula programul imediat după instalare.







Deci, va fi bine: Firebird-2.5_Win32.exe / VERYSILENT # xA0;?


> Novicer (1/8/14 13:47)

Firebird it OpenSource, în depozit este un script de instalare (în InnoSetup-ul meu), ia-l, îl conduci, îl folosești.

Și apoi se dovedește că un alt astfel de kulibin pe liniște a pus deja o pasăre de altă varianta.

Nu creați probleme pentru utilizatori. Și apoi cum se va întâmpla.
;-)

Este posibil ca instalatorul programului, desigur, să adauge instalarea FB, dar nu "în liniște" și cu un nor de avertismente


> Bună ziua # xA0; vrăjitori! Spuneți-mi ce program de instalare este mai bun
> utilizare, astfel încât să puteți instala "liniștit", fără extra
> mișcarea utilizatorului firelei împreună cu prog. Aș vrea
> serverul a pornit automat după instalare pentru a avea ocazia
> Rulați programul imediat după instalare.

> 1. Dacă acesta este serverul, atunci nu este "silențios", pentru asta veți fi tăiați picioarele și corect făcuți.
ha, și am fost în mod special rugat să facă modul "silențios" configurarea, doar pentru instalarea pe server (ca în modul consola, nu este nimic de apăsat butoanele de confirmare).
adevărul nu este un fișier, ci "serviciul" meu "server" în trei sensuri ", dar la fel.


> Dacă acesta este software-ul corporativ - nu se întreabă nimeni "picioruș"
> nu va. de exemplu, o face de la DVR-urile pe care le cunosc, instalând
> mysql.

Există multe nuanțe. Serverul este FB 1.5. Eu folosesc 2.5 în software-ul meu.În 1.5, există unele fire de bază de date, care, în cazul unei actualizări, trebuie să fie migrat.
Sau, de exemplu, port ocupat 3050.
Este clar că, dacă este pus pe o mașină curată, atunci este posibilă și ascunsă.


> ha, și am fost în mod special rugat să facă modul de "tăcut" de configurare,
> # xA0; este pentru instalarea pe server (cum ar fi în modul consola
> pus, nu este nimic de apăsat butoanele de confirmare).
> adevărul nu este pus de un server de fișiere, ci de serverul "meu" de serviciu "în trei direcții"
> # xA0; dar încă.

Din cauza acelorași dorințe am schimbat unitatea SvcMgr.pas - am văzut ferestre modale pentru instalarea / eliminarea serviciului :)

> au tăiat ferestre modale pentru instalarea / eliminarea serviciului de acolo :)
și tocmai mi-am făcut înregistrarea "în partea de sus" atunci când am instalat în modul silențios. și în fereastra obișnuită - o confirmare vizuală că totul a fost setat și pornit, nu este nevoie să vă conectați.

> antonn Ce este mai bine decât Embedded?

Nu depinde de orice altceva.

Embedded funcționează într-un mod de rețea cu abilitatea de a accesa baza de date de la alte PC-uri? Am citit că conexiunea este posibilă numai prin intermediul protocolului local și atunci când utilizatorul conectează baza de date este blocată. Se presupune că mai multe persoane nu pot lucra simultan cu baza de date?


> Se presupune că mai mulți oameni nu pot simultan
> lucrezi cu baza de date?

Nu pot. Există o grămadă de alte restricții.

Apoi, baza de date locală încorporată iese. Și aveți nevoie de o rețea :)


> Și rețeaua este necesară :)

Apoi, întrebarea este: de ce a pus rețeaua împreună cu clientul? Clientul este separat, serverul este separat.


> Pentru Interbase se numește gds32.dll, pentru FB, ca - fbclient.
> dll

Apropo, interbase gds32.dll poate lucra cu serverul FB. Și este acest DLL care stabilește, de exemplu, Delphi ca client.

Acest lucru va fi suficient pentru a include în programul de distribuție, astfel încât să se poată conecta apoi la serverul din rețea?


> Acest lucru va fi suficient pentru includerea în programul de distribuție la
> s-ar putea conecta la serverul din rețea?

Vă mulțumesc foarte mult pentru răspunsurile scurte, dar utile! Dacă vă puteți sfătui să știți ce să citiți despre firefly (cărți, site-uri)? Elementele de bază ale unui ceainic :)

V-au fost date referințe. Ei bine, "World Interbase" Kozyavin a citit

Kovyazin, bljad!
Tot timpul mă încurc.

> Nu, nu este suficient.

De ce nu? Pentru client. în măsura în care știu, mai mult decât.

Înțeleg că după instalarea programului și Firebird trebuie să înregistrați o bază de date demo pe server. Cum se poate face acest lucru? Este suficient să specificați calea, numele de conectare și parola (pe toate PC-urile din rețea) în setările conexiunii. Pentru a încredința utilizatorului într-o fereastră să introducă datele necesare?

Ce fel de bază? Ce program? Telepatul nu funcționează, îmi pare rău.
Totul depinde de sarcină, componenta de lucru cu baza de date etc.


> Am înțeles că după instalarea programului și Firebird este necesar să se înregistreze
> baza de date demo de pe server.

Ce altă bază demo? După instalarea serverului, baza de date trebuie să fie creată fie de la zero, fie din scriptul SQL. Pentru a crea de la zero, este convenabil să utilizați IBExpert.
Este recomandat să configurați drepturile de acces la baza de date și să modificați parola utilizatorului SYSDBA. Este recomandabil să specificați un alias pentru fișierul de bază. Cum se face acest lucru este scris în document.


> Este suficient să setați calea, conectați-vă la setările conexiunii
> și parola (pe toate PC-urile din rețea)? Aveți încredere în utilizatorul din fereastră pentru a intra
> datele de care aveți nevoie?

Pentru baza de date la distanță: server, port, alias bază de date, login, parolă, rol
Pentru local: alias, login, parola, rol

> [39] Novicer # xA0; (15.01.14 00:42)
> TIBTable

Pentru statistici?

> [39] Novicer # xA0; (15.01.14 00:42)
> La baza sunt pe OnShow a formei principale fără erori

Monsieur știe multe despre perversiuni.

> Inovet Cu Firebird Lucrez pentru prima data, spune-mi cum sa fac corect, daca nu greu.

> Baza DVM realizată de la zero în IbExperte. După instalarea programului, trebuie să îl înregistrați pe server sau puteți să vă conectați doar prin specificarea căii către el?


> # xA0 După instalarea programului, trebuie să îl înregistrați pe server sau pe server
> pot să mă conectez doar prin specificarea căii spre ea?

Doar calea spre server. Este chiar mai bine să faceți aliasul și să îl specificați, atunci nu contează unde se află baza și când îl mutați, nu este necesar să reconfigurați clienții (fișierul aliases.conf din dosarul serverului).


> Novicer (15.01.14 10:29) [41]
>> Inovet Cu Firebird Lucrez pentru prima dată, spune-mi cum este necesar






> corect, dacă nu dificil.

Ați dezbrăcat datele și prezentarea. Formează separat, conectarea separată la baza de date. Pentru diferite componente non-vizuale cum ar fi o conexiune la o bază de date și pr există un DataModule pe el și pune-l. Este logic să se conecteze înainte ca formularul principal să fie creat, de fapt, de regulă, utilizatorul este obligat să introducă un login pentru parola pentru a accesa baza de date, astfel încât secvența este aproximativ aceasta:

1) Porniți programul
2) Demonstrarea formularului cu o solicitare de parolă
3) Încercați să vă conectați
4) Dacă este conectat, afișați formularul principal, dacă nu există nici o eroare și din nou la 2) sau ieșiți.

Am făcut o conexiune prin încercare - cu excepția faptului că am arătat utilizatorului un mesaj de eroare dacă asta, dar pentru experiment mi-am schimbat numele fișierului de bază și am încercat să-l ating. În loc de mesaj, eroarea IDE "fișierul nu a fost găsit" se blochează. De ce nu încercați - cu excepția muncii?


> Închideți-le în mod necesar și rapid.

Read / ReadCommited / RecVersion / NoWait poate trăi cât mai mult, fără a încărca serverul.

Cum să setați cursorul pe șirul DBGrida dorit utilizând IBQuery.Locate? Sau nu se poate face?


> Sau nu se poate face?


> folosind IBQuery.Locate?

Deci, folosiți: IBQuery.Locate # xA0; Dacă găsește ceva care satisface parametrii, se va ridica. Dacă nu găsește, nu se va ridica.

A încercat acest lucru:
Form1.IBQuery1.Open;
Form1.IBQuery1. Localizați ("COL1", Edit1.Text, [loCaselnsensitive, loPartialKey]);
Form1.IBQuery1.Close;
Compilatorul loCaselnsensitive și loPartialKey nu recunoaște # xA0; :(

Adăugat în utilizări DB a ajutat :)

Acum, compilatorul IDE fără erori, dar după execuție
Form1.IBQuery1.Open;
Form1.IBQuery1. Localizați ("COL1", Edit1.Text, [loCaselnsensitive, loPartialKey]);
Form1.IBQuery1.Close;
DBGrid este șters și nu pune cursorul pe o linie cu un meci. De ce?

> [55] Novicer # xA0; (16.01.14 19:07)
> De ce?

Deoarece nu există date în DBGrid.

Datele din rețea sunt acolo, iar după execuție dispare lokey: (


> Novicer # xA0; (16.01.14 19:07) [55]
> Acum, compilatorul IDE fără erori, dar după execuție
> Form1.IBQuery1.Open;
> Form1.IBQuery1. Localizați ("COL1", Edit1.Text, [loCaselnsensitive,
> # xA0; loPartialKey]);
> Form1.IBQuery1.Close;
> DBGridul este șters și nu pune cursorul pe o linie cu un meci.
> # xA0; De ce?

De asta.


> Novicer # xA0; (16.01.14 19:38) [57]
> Datele din grilă sunt acolo, iar după execuție locașul dispare
> :(

Nu sunt acolo. Nu ne înșela.

Nu, nu există așa ceva și FIG este cu ei. Cum se obține adevărat sau fals în rezultatul căutării fără afișarea datelor în grilă. În editare, introduceți o interogare, de exemplu cireșe, în lista de baze (o coloană) lista de produse. Vreau să știu dacă există sau nu? Este necesar să utilizați solicitarea SQL pentru a afla sau a afla sau a căuta într-un fel și a compara datele din linii # xA0 și Edite?

Luăm datele de la adite, căutăm. Dacă există ceva ShowMessage (găsit) și dacă nu atunci ShoMessage (nu, țipați bro) cumva așa :)

Am făcut o căutare cu sql-query, datele sunt găsite și afișate în dbgrid, și nu trebuie să le văd, vreau doar să știu dacă există unul în tabel sau nu? Dacă este necesar, puteți afișa apoi datele :)

Aici, instalatorul are deja noțiunile de bază ale citirii oferite sau care efectuează cursuri de formare online?

Sugestii :) Am citit. Dar, înainte de argumente pro pentru mine, ca mersul pe jos pe Marte :) timp de trei zile de la zero a învățat cum să se conecteze la baza de date, modul de introducere a datelor în baza de date, cum se schimba datele, cum să ștergeți, cum să găsească exact ceea ce este necesar pentru a sho cum să găsească similar cu ceea ce este necesar și toate acestea arata-ti favoritul tau :) pe acest succes sa incheiat si intrebarile au inceput sa fie profesionisti. ;)

> [64] Novicer # xA0; (16.01.14 23:43)
> Vreau doar să știu că este nevoie de o masă sau nu?

SELECT COUNT (*) WHERE
o cerere separată și verificați câte persoane s-au întors acolo.

Pot transfera datele dintr-o interogare unei variabile și o pot compara deja?

> [68] Novicer # xA0; (17.01.14 10:16)
> Pot transfera datele dintr-o interogare la o variabilă și o pot compara deja?

IBQuery1.FieldByName ("ChoToTam") AsInteger
sau pentru contra este cunoscut că aveți un singur domeniu
IBQuery1.Fields [0] .AsInteger

Atât interogarea cât și rândurile tabelului sunt de tip String. Deci, va fi corect:
dacă Edit1.text = IBQuery1.FieldByName ("Col1"). AsString apoi ShowMessage ("Found")
În tabel, o coloană Col1
Am înțeles că, de asemenea, nu puteți specifica în mod explicit numele câmpului prin care fac căutarea, dar specific doar indexul de câmpuri [0]? Aceasta va permite căutarea și căutarea într-un ciclu pentru toate câmpurile din tabel. Corect?


> [70]

Dacă trebuie să căutați prin câmpurile mesei, atunci baza este proiectată în mod incorect. DBMS este închis pentru căutarea după înregistrări.

Vreau să spun prin înregistrări, "Înot" în timp ce în termeni de licurici :)

Nu arata: (afișează înregistrarea curentă, dar are nevoie de o căutare.

> [70] Novicer # xA0; (17.01.14 10:45)
> Atât interogarea, cât și rândurile din tipul de tabel String

În solicitarea COUNT, iar acesta este Integer.

Am introdus interogarea în editare, am avut o interogare de căutare în minte și nu sql. Prin simplu: Caut, și programul spune că există sau nu :) fără a afișa rezultatul căutării în rețea, într-un fel. ;)

Count numără numărul de rânduri din tabel, înțeleg. Ele sunt întotdeauna mai mult zero pentru mine :) Sunt interesat de prezența înregistrării necesare.


> Novicer # xA0; (17.01.14 12:38) [77]
> Contele numără un rând dintr-un tabel, înțeleg. Ele sunt întotdeauna
> mai mult zero pentru mine :) intereseaza in mod specific disponibilitatea doritului
> înregistrări.

Și ai scris în WHERE?

Vreau să adaug la ComboBox toate intrările din tabel, excluzând dublarea. Trebuie să fac sql-interogare sau cum pot reconsidera toate înregistrările?


> Și ei pentru server sunt necesare, în loc de client, nu? Dacă este corect,
> # xA0; atunci nu există prea multă experiență cu FB, folosim InterBase.

msg - există mesajul, de pe server există doar un cod, iar clientul îl formatează. Acesta va funcționa, va ieși pur și simplu "mesaj format cant."
firebird.conf este necesar pentru a specifica rootdir dacă nu există intrări în registru. Cu toate acestea, scriu din memorie, am pus din punct de vedere istoric clientul ca instalator, plus programul meu de instalare deschide, de asemenea, porturi în firewall cu Windows. )
> cât de bine funcționează și apoi cu fbclient.dll 2.5 → Firebird
> 1.5 apar probleme, de exemplu.

Nu funcționează. Mai precis, clientul de la IB6.0 va lucra cu FB1.0, dar nu trebuie să fie. Versiunea client trebuie să se potrivească exact cu versiunea serverului, chiar până la construire.

În tabelul MyTable, există două coloane: ID și COL1. Vreau să selectați toate înregistrările celei de-a doua coloane (COL1) a tabelului # xA0; excluderea duplicatelor și sortarea datelor primite în ordine alfabetică. Eu scriu pentru IBQuery următoarea interogare:
selectați COL1 distinctă de la comanda MyTable de COL1
Am primit codul de eroare Filed not found. Dacă modificați solicitarea pentru aceasta:
selectați distinct * din comanda MyTable de COL1
apoi rulează fără erori, dar imprimă duplicate: (
Cum să formulezi corect o interogare pentru a obține rezultatul dorit?

S-au găsit un bug, acum interogarea selectați COL1 distinct de comanda MyTable de COL1 funcționează bine, dar dacă este cazul caracter diferit vseravno dublează da. Apple și Apple sunt cuvinte diferite :) Așa se face o cerere care a fost aceeași (indiferent de registru (?

> [84] Novicer # xA0; (17.01.14 18:39)
> Apple și Apple sunt cuvinte diferite :)

superioară?

PS. Citiți rapid cărți. Te invidiez.

Am scris acest lucru: selectați distincte COL1 din MyTable în cazul în care partea superioară (COL1) cum ar fi „“% „“ comanda COL1 nu a ajutat :(

Și dacă selectați COL1 distinct de MyTable în cazul în care partea superioară (COL1) ca ordin superior ( „“% „“) prin COL1 același pătrunjel, se dublează oricum dă :(

> [87] Novicer # xA0; (17.01.14 19:46)

Acum eliminați locul și numărul de variante ale căutării pentru partea superioară a locurilor de inserție va fi redus.

Solicitați selectare distinctă superior (COL1) din comanda MyTable de COL1 returnează eroarea "columna necunoscută COL1": /

> [89] Novicer # xA0; (17.01.14 21:06)

Aici se întoarce? Într-adevăr chiar în IBExpert?

> [91] Novicer # xA0; (17.01.14 21:32)

Sugestia despre IBExpert nu și-a atins scopul.

În cadrul expertului trebuie să testați cererile da. )

selectați distinct superior (COL1)
ce nume de domeniu va fi? Dacă numai în constructorul Delphi sa deschis pentru decență sau altceva.

> Solicitare selectare distinctă de sus (COL1) din comanda MyTable de COL1 returnează eroarea "coloană necunoscută COL1": /

deoarece în setul selectabil al unei astfel de coloane nu există o astfel de coloană

> Solicitare selectare distinctă superioră (COL1) din ordinea MyTable de COL1 returnează eroarea "coloană necunoscută COL1": /

deoarece în setul selectabil al unei astfel de coloane nu există o astfel de coloană

Adăugat câmpul ID și col1 în IbQuery1, acum cu interogarea se blochează eroare „ID-ul domeniu necunoscut“ :( Nu poate înțelege ce se întâmplă, probabil, încă sintaxa greșită a interogare: selectați distincte de Sus (COL1) de la comanda MyTable de COL1

totul este inutil

> [100] Novicer # xA0; (18.01.14 12:42)

1. Ați văzut deja rezultatul în IBExpert?
2. În cărți citiți despre AS?
3. Bine, despre adăugarea câmpurilor după 1 și 2.

Într-adevăr, în sintaxa, el a găsit-o fixă, totul arata așa cum ar trebui :) Vă mulțumesc tuturor pentru ajutor și sprijin prietenos!







Trimiteți-le prietenilor: