Both sides previous revision Previous revision Next revision | Previous revision |
kb:pg:priprema_za_migraciju [2019/03/08 13:27] – [Priprema za migraciju na Postgres] milano | kb:pg:priprema_za_migraciju [2020/03/09 12:12] (current) – [Priprema drajvera] nessa |
---|
| ====== Priprema za migraciju na Postgres ====== |
| |
| * [[:kb:pg:postgres_instalacija_linux|Instalacija na Linux operativnom sistemu]] |
| * [[:kb:pg:postgres_instalacija_windows|Instalacija na Windows operativnom sistemu]] |
| |
==== Napomena kod zadavanja pristupnih lozinki bazi podataka ==== | ==== Napomena kod zadavanja pristupnih lozinki bazi podataka ==== |
| |
Treba izbegavati specijalne karaktere **[]{}(),;?*=!@** u šifri za Postgres bazu podataka. Ako se oni ipak koriste, šifra mora biti uokvirena u {…} zagrade.\\ | Treba izbegavati specijalne karaktere **[]{}(),;?*=!@** u šifri za Postgres bazu podataka. Ako se oni ipak koriste, šifra mora biti uokvirena u {…} zagrade. \\ Više o specijalnim karakterima na [[http://www.postgresql-archive.org/Problem-with-special-characters-in-password-when-using-SQLDriverConnect-td5755239.html|ovom linku]]. |
Više o specijalnim karakterima na [[http://www.postgresql-archive.org/Problem-with-special-characters-in-password-when-using-SQLDriverConnect-td5755239.html|ovom linku]]. | |
| |
===== Priprema JET baze ===== | ===== Priprema JET baze ===== |
===== Priprema drajvera ===== | ===== Priprema drajvera ===== |
| |
Na kompjuteru sa koga će se prebacivati podaci iz JET baze podataka ili na kome će raditi Balans 4 treba instalirati 32bitni PostgreSQL ODBC driver. \\ \\ Opciono: \\ Kroz //Administrative tools –> ODBC data sources (32 bit)// treba napraviti //System DSN//, čiji naziv može biti proizvoljan (npr. **PostgreSQL35W**) i podesiti mu svojstva u skladu sa {{:kb:uputstva:postgres_odbc_driver.png?linkonly|ovim primerom.}} \\ \\ {{:bal:znanje_32.png?nolink&32x32 }}Detalji o svim parametrima Postgres ODBC drajvera nalaze se na ovoj adresi: [[http://psqlodbc.projects.pgfoundry.org/docs/config.html|http://psqlodbc.projects.pgfoundry.org/docs/config.html]] | Na kompjuteru sa koga će se prebacivati podaci iz JET baze podataka ili na kome će raditi Balans 4 treba instalirati 32bitni PostgreSQL ODBC driver.\\ |
| \\ |
| Opciono:\\ |
| Kroz //Administrative tools –> ODBC data sources (32 bit)// treba napraviti //System DSN// koristeći unicode PostgreSQL ODBC driver, čiji naziv može biti proizvoljan (npr. **PostgreSQL35W**) i podesiti mu svojstva u skladu sa {{:kb:pg:pgs_dsn.png?linkonly|ovim primerom.}} \\ |
| \\ |
| {{:bal:znanje_32.png?nolink&32x32 }}Detalji o svim parametrima Postgres ODBC drajvera nalaze se na ovoj adresi: [[http://psqlodbc.projects.pgfoundry.org/docs/config.html|http://psqlodbc.projects.pgfoundry.org/docs/config.html ]]\\ |
| Opcija "Unknowns as LongVarChar" služi da se JSON kolone pri čitanju ne seku na 255 karaktera. |
| |
===== Opcije drajvera koje utiču na Crystal Reports izveštaje ===== | |
| |
|**Use Declare/Fetch** |Treba uključiti na mašinama gde se okida greška //"Out of memory while reading tuples"// kada je rezultat sa mnogo slogova, jer DSN pokuša da uvuče sve slogove iz rezultata pre nego što ga vrati Crystal-u| | |
|**True is -1** |Treba **isključiti uvek** jer zbunjuje Crystal| | |
| |
{{:bal:ideja_32.png?nolink&32x32 }}Povezivanje Balansa na Postgres bazu može se izvesti i bez registrovanja **Postgres ODBC DSN** tako što se u korenu foldera sa bazama podataka (..\Balans\Data\) napravi fajl **PgODBC.txt** u kome se u //šifrovanom obliku// navedu osnovni parametri pristupa serveru. | |
| |
Primer parametara veze | |
| |
<code> | |
Server=nekiServer;Port=5432;Uid=nessa;Pwd=exMachina | |
</code> | |
| |
Čitanje fajla **PgODBC.txt vrši** //BLRBasic.dll //i dodaje ostala svojstva (//UseDeclareFetch, BoolsAsChar, TrueIsMinus1 itd//). pre ostvarivanja veze sa Postgres bazom. Ostali moduli kojima treba direktna konekcija na Postgres bazu (npr. //BLRReports.dll//) mogu dobiti sadržaj fajla **PgODBC.txt **od objekta klase //BLRBasic.SyBal2// i po potrebi zadati ostala svojstva konekcije. | |
| |
===== Pravljenje "linkova" između PGS shema/baza (imitacija linkova u JET bazama) ===== | |
| |
U PostgreSQL-u ne postoje linkovi u smislu JET baza (pokazivači na tabele u drugim bazama) - umesto toga se koriste //[[https://wiki.postgresql.org/wiki/Foreign_data_wrappers|Foreign Data Wraperi//]]// , koji mogu spojiti baze sa istog ili različitih servera. | |
| |
==== Linkovanje na arhive u istoj bazi ==== | |
| |
Za razliku od JET-a, gde su arhive bile zasebne baze podataka, u Postgresu su one samo //scheme// unutar iste baze. Kako su u istoj bazi, nema potrebe za linkovanjem već im se pristupa navodjenjem imena sheme ispred imena baze. Na primer: | |
| |
<code> | |
SELECT * FROM "2015".Racuni | |
</code> | |
| |
<sup>*)</sup> Ime šeme je uokvireno u znake navoda zato što počinje brojem, a ne slovom, kako je podrazumevano očekivano. | |
| |
Tako imamo da se umesto JET linka **Racuni2015** može napraviti //pogled// **Racuni2015**, iako bi najbolje bilo prepraviti takve upite da koriste //šeme// umesto //pogleda//. | |
| |
==== Linkovanje na baze/arhive u drugim bazama ==== | |
| |
Ako je JET link na bazu druge firme (npr. Firma 1 –> Firma 2) onda se koristi FDW ([[https://wiki.postgresql.org/wiki/Foreign_data_wrappers|foreign data wrapper]]) PGS ekstenzija. | |
| |
Skoro ceo posao je automatizovan iz QA i potrebno je uraditi sledeće: | |
| |
- Uvesti sve baze (tekuće i prethodne godine) u Postgres bazu | |
- Pokrenuti QA i spojiti se na JET bazu tekuće godine željene firme | |
- Spojiti se i na PGS bazu tekuće godine željene firme (kroz //Postgres// meni u okviru QA) | |
- Otvoriti formu za vezivanje u QA | |
- Kliknuti na tab "Link manager" da bi se učitali podaci o linkovima | |
- Kliknuti na tab "JET > PostgreSQL" i na njemu dugme sa oznakom (i) da bi se proverilo koje "linkove" je moguće napraviti, a koje ne (zelene i crvene sličice u poslednjoj koloni grida) | |
- Kliknuti na dugme sa PGS logom da bi se napravio skript za linkovanje koji treba odraditi iz pgAdmin aplikacije nad tekućom godinom (public shema) željene firme | |
| |
{{:kb:pg:pglinkovi.png?direct&700x531}} | |
| |
Ako se u neku od FDW tabela doda kolona ona se (verovatno) neće videti u upitima jer je nema u FDW definiciji koju treba ponovo napraviti ako je moguće jer će možda komanda DROP FOREIGN TABLE xxx okinuti grešku da se koristi u nekim upitima. Nisam isprobao. | |
| |
Napomena: JET linkovi na ne JET baze (npr. SQL Server) **ne mogu se preneti** u PGS jer postojeća rešenja kao što je [[http://pgxn.org/dist/tds_fdw/|tds_fdw]] ne podržavaju upis u SQL Server tabelu. Zato je jednostavnije napraviti link iz SQL Servera na PGS server pomoću PGS ODBC driver-a [[https://www.mssqltips.com/sqlservertip/3662/sql-server-and-postgresql-linked-server-configuration--part-2/|www.mssqltips.com/sqlservertip/3662/sql-server-and-postgresql-linked-server-configuration--part-2/]] | |
| |
===== Priprema drajvera ===== | |
| |
Na kompjuteru sa koga će se prebacivati podaci iz JET baze podataka ili na kome će raditi Balans 4 treba instalirati 32bitni PostgreSQL ODBC driver. Opciono: Kroz //Administrative tools –> ODBC data sources (32 bit)// treba napraviti //System DSN//, čiji naziv može biti proizvoljan (npr. **PostgreSQL35W**) i podesiti mu svojstva u skladu sa {{:kb:uputstva:postgres_odbc_driver.png?linkonly|ovim primerom.}} {{:bal:znanje_32.png?nolink&32x32 }}Detalji o svim parametrima Postgres ODBC drajvera nalaze se na ovoj adresi: [[http://psqlodbc.projects.pgfoundry.org/docs/config.html|http://psqlodbc.projects.pgfoundry.org/docs/config.html]] | |
| |
===== Opcije drajvera koje utiču na Crystal Reports izveštaje ===== | ===== Opcije drajvera koje utiču na Crystal Reports izveštaje ===== |
| |
|**Use Declare/Fetch** |Treba uključiti na mašinama gde se okida greška //"Out of memory while reading tuples"// kada je rezultat sa mnogo slogova, jer DSN pokuša da uvuče sve slogove iz rezultata pre nego što ga vrati Crystal-u| | |**Use Declare/Fetch** |Kada se DSN koristi za Crystal treba **uključiti** na mašinama gde se okida greška //"Out of memory while reading tuples"// kada je rezultat sa mnogo slogova, jer DSN pokuša da uvuče sve slogove iz rezultata pre nego što ga vrati Crystal-u. Kada se DSN koristi za Balans treba **isključiti** jer se okida greška na WITH jfrom ... iskazima.| |
|**True is -1** | | | |**True is -1** |Treba **isključiti uvek** jer zbunjuje Crystal, a Balans radi u obe varijante.| |
| |
{{:bal:ideja_32.png?nolink&32x32 }}Povezivanje Balansa na Postgres bazu može se izvesti i bez registrovanja **Postgres ODBC DSN** tako što se u korenu foldera sa bazama podataka (..\Balans\Data\) napravi fajl **PgODBC.txt** u kome se u //šifrovanom obliku// navedu osnovni parametri pristupa serveru. | {{:bal:ideja_32.png?nolink&32x32 }}Povezivanje Balansa na Postgres bazu može se izvesti i bez registrovanja **Postgres ODBC DSN** tako što se u korenu foldera sa bazama podataka (..\Balans\Data\) napravi fajl **PgODBC.txt** u kome se u //šifrovanom obliku// navedu osnovni parametri pristupa serveru. |
| |
Primer parametara veze | Primer parametara veze |
</code> | </code> |
| |
Čitanje fajla **PgODBC.txt vrši** //BLRBasic.dll //i dodaje ostala svojstva (//UseDeclareFetch, BoolsAsChar, TrueIsMinus1 itd//). pre ostvarivanja veze sa Postgres bazom. Ostali moduli kojima treba direktna konekcija na Postgres bazu (npr. //BLRReports.dll//) mogu dobiti sadržaj fajla **PgODBC.txt **od objekta klase //BLRBasic.SyBal2// i po potrebi zadati ostala svojstva konekcije. | Čitanje fajla **PgODBC.txt vrši** //BLRBasic.dll //i dodaje ostala svojstva (//UseDeclareFetch, BoolsAsChar, TrueIsMinus1 itd//). pre ostvarivanja veze sa Postgres bazom. Ostali moduli kojima treba direktna konekcija na Postgres bazu (npr. //BLRReports.dll//) mogu dobiti sadržaj fajla **PgODBC.txt **od objekta klase //BLRBasic.SyBal2// i po potrebi zadati ostala svojstva konekcije. |
| |
===== Pravljenje "linkova" između PGS shema/baza (imitacija linkova u JET bazama) ===== | |
| |
U PostgreSQL-u ne postoje linkovi u smislu JET baza (pokazivači na tabele u drugim bazama) - umesto toga se koriste //[[https://wiki.postgresql.org/wiki/Foreign_data_wrappers|Foreign Data Wraperi//]]//, koji mogu spojiti baze sa istog ili različitih servera. | |
| |
==== Linkovanje na arhive u istoj bazi ==== | |
| |
Za razliku od JET-a, gde su arhive bile zasebne baze podataka, u Postgresu su one samo //scheme// unutar iste baze. Kako su u istoj bazi, nema potrebe za linkovanjem već im se pristupa navodjenjem imena sheme ispred imena baze. Na primer: | |
| |
<code> | |
SELECT * FROM "2015".Racuni | |
</code> | |
| |
<sup>*)</sup> Ime šeme je uokvireno u znake navoda zato što počinje brojem, a ne slovom, kako je podrazumevano očekivano. | |
| |
Tako imamo da se umesto JET linka **Racuni2015** može napraviti //pogled// **Racuni2015**, iako bi najbolje bilo prepraviti takve upite da koriste //šeme// umesto //pogleda//. | |
| |
==== Linkovanje na baze/arhive u drugim bazama ==== | |
| |
Ako je JET link na bazu druge firme (npr. Firma 1 –> Firma 2) onda se koristi FDW ([[https://wiki.postgresql.org/wiki/Foreign_data_wrappers|foreign data wrapper]]) PGS ekstenzija. | |
| |
Skoro ceo posao je automatizovan iz QA i potrebno je uraditi sledeće: | |
| |
- Uvesti sve baze (tekuće i prethodne godine) u Postgres bazu | |
- Pokrenuti QA i spojiti se na JET bazu tekuće godine željene firme | |
- Spojiti se i na PGS bazu tekuće godine željene firme (kroz //Postgres// meni u okviru QA) | |
- Otvoriti formu za vezivanje u QA | |
- Kliknuti na tab "Link manager" da bi se učitali podaci o linkovima | |
- Kliknuti na tab "JET > PostgreSQL" i na njemu dugme sa oznakom (i) da bi se proverilo koje "linkove" je moguće napraviti, a koje ne (zelene i crvene sličice u poslednjoj koloni grida) | |
- Kliknuti na dugme sa PGS logom da bi se napravio skript za linkovanje koji treba odraditi iz pgAdmin aplikacije nad tekućom godinom (public shema) željene firme | |
| |
{{:kb:pg:pglinkovi.png?direct&700x531}} | |
| |
Ako se u neku od FDW tabela doda kolona ona se (verovatno) neće videti u upitima jer je nema u FDW definiciji koju treba ponovo napraviti ako je moguće jer će možda komanda DROP FOREIGN TABLE xxx okinuti grešku da se koristi u nekim upitima. Nisam isprobao. | |
| |
Napomena: JET linkovi na ne JET baze (npr. SQL Server) **ne mogu se preneti** u PGS jer postojeća rešenja kao što je [[http://pgxn.org/dist/tds_fdw/|tds_fdw]] ne podržavaju upis u SQL Server tabelu. \\ | |
Zato je jednostavnije napraviti link iz SQL Servera na PGS server pomoću PGS ODBC driver-a \\ | |
[[https://www.mssqltips.com/sqlservertip/3662/sql-server-and-postgresql-linked-server-configuration--part-2/|www.mssqltips.com/sqlservertip/3662/sql-server-and-postgresql-linked-server-configuration--part-2/]] | |
| |
===== Skript unapređenja Balans baza na Postgresu ===== | |
| |
<font inherit/inherit;;#FF0000;;inherit>**Posle prebačenih tabela, linkova i upita u PGS baze treba odraditi skriptove iz DBupdate4 foldera (PG_2xxxx.sql fajlovi)**</font> | |
| |
\\ | \\ |
| |
| |
===== Instalacija Postgres baze podataka na server ===== | |
| |
Prilikom instalacije PostreSQL baze podataka obratiti pažnji na sledeće: | |
| |
* bazu podataka ne smeštati u Program Files lokaciju, već u zaseban direktorijum (nikako u postojeći Balans dir.) na disku na kom ima dovoljno mesta i koji je pokriven bekapom. | |
* prilikom instalacije biće zatraženo definisanje super-user lozinke za **postgres** korisnika (sa svim ovlašćenjima) - ova lozinka ne sme da bude trivijalna, i zna je samo administrator servera | |
* za korisnike Balansa otvariti tri usera: balans_admin, balans_user, balans_reports | |
* nakon instalacije ne zaboraviti konfigurisanje Postgres servera za pristup iz mreže (podrazumevano, samo lokalni računar mu može pristupiti), editovanjem **pg_hba** fajla dodavanjem redova **host all all 192.168.0.0/24 md5** za IPv4 konekcije (promeniti prve 2 vrednosti 192.168 prema stanju u lokalnoj mreži) i \\ **host all all fe80::/10 md5** za IPv6 konekcije na računarima sa Win 8 i novijim koji podržavaju IPv6 (**na Win XP računarima takve redove treba staviti pod komentar sa znakom #**) \\ Za omogućavanje pristupa svim adresama iz IPV4 opsega koristi se maska **0.0.0.0/0** a iz opsega IPV6 maska **::0/0**. | |
* ne zaboraviti i otvaranje TCP/IP porta za pristup bazi u firewall-u servera | |
* optimizovati parametre PGS konfiguracije u fajlu **postgresql.conf** pomoću kalkulatora na sajtu [[https://pgtune.leopard.in.ua|https://pgtune.leopard.in.ua]] | |
* restartovati PostgreSQl servis da bi se učitali novi parametri konfiguracije | |
| |
| |
==== Napomena kod zadavanja pristupnih lozinki bazi podataka ==== | |
| |
Treba izbegavati specijalne karaktere **[]{}(),;?*=!@** u šifri za Postgres bazu podataka. Ako se oni ipak koriste, šifra mora biti uokvirena u {…} zagrade. \\ Više o specijalnim karakterima na [[http://www.postgresql-archive.org/Problem-with-special-characters-in-password-when-using-SQLDriverConnect-td5755239.html|ovom linku]]. | |
| |
===== Priprema JET baze ===== | |
| |
{{:bal:uzvik_32.png?nolink&32x32 }}Pre migracije obavezno proveriti strukturu JET baze upoređivanjem sa nultom bazom. | |
| |
* Migracija podataka nije invazivna za Jet baze, ali nije dobro raditi na aktivnim bazama jer može doći do promene podataka u toku izvoza u SQL | |
* Prvo se migriraju arhive, pa tek onda tekuća baza | |
| |
===== Priprema drajvera ===== | |
| |
Na kompjuteru sa koga će se prebacivati podaci iz JET baze podataka ili na kome će raditi Balans 4 treba instalirati 32bitni PostgreSQL ODBC driver. \\ \\ Opciono: \\ Kroz //Administrative tools –> ODBC data sources (32 bit)// treba napraviti //System DSN//, čiji naziv može biti proizvoljan (npr. **PostgreSQL35W**) i podesiti mu svojstva u skladu sa {{:kb:uputstva:postgres_odbc_driver.png?linkonly|ovim primerom.}} \\ \\ {{:bal:znanje_32.png?nolink&32x32 }}Detalji o svim parametrima Postgres ODBC drajvera nalaze se na ovoj adresi: [[http://psqlodbc.projects.pgfoundry.org/docs/config.html|http://psqlodbc.projects.pgfoundry.org/docs/config.html]] | |
| |
===== Opcije drajvera koje utiču na Crystal Reports izveštaje ===== | |
| |
|**Use Declare/Fetch** |Treba uključiti na mašinama gde se okida greška //"Out of memory while reading tuples"// kada je rezultat sa mnogo slogova, jer DSN pokuša da uvuče sve slogove iz rezultata pre nego što ga vrati Crystal-u| | |
|**True is -1** |Treba **isključiti uvek** jer zbunjuje Crystal| | |
| |
{{:bal:ideja_32.png?nolink&32x32 }}Povezivanje Balansa na Postgres bazu može se izvesti i bez registrovanja **Postgres ODBC DSN** tako što se u korenu foldera sa bazama podataka (..\Balans\Data\) napravi fajl **PgODBC.txt** u kome se u //šifrovanom obliku// navedu osnovni parametri pristupa serveru. | |
| |
Primer parametara veze | |
| |
<code> | |
Server=nekiServer;Port=5432;Uid=nessa;Pwd=exMachina | |
</code> | |
| |
Čitanje fajla **PgODBC.txt vrši** //BLRBasic.dll //i dodaje ostala svojstva (//UseDeclareFetch, BoolsAsChar, TrueIsMinus1 itd//). pre ostvarivanja veze sa Postgres bazom. Ostali moduli kojima treba direktna konekcija na Postgres bazu (npr. //BLRReports.dll//) mogu dobiti sadržaj fajla **PgODBC.txt **od objekta klase //BLRBasic.SyBal2// i po potrebi zadati ostala svojstva konekcije. | |
| |
===== Pravljenje "linkova" između PGS shema/baza (imitacija linkova u JET bazama) ===== | ===== Pravljenje "linkova" između PGS shema/baza (imitacija linkova u JET bazama) ===== |
Ako se u neku od FDW tabela doda kolona ona se (verovatno) neće videti u upitima jer je nema u FDW definiciji koju treba ponovo napraviti ako je moguće jer će možda komanda DROP FOREIGN TABLE xxx okinuti grešku da se koristi u nekim upitima. Nisam isprobao. | Ako se u neku od FDW tabela doda kolona ona se (verovatno) neće videti u upitima jer je nema u FDW definiciji koju treba ponovo napraviti ako je moguće jer će možda komanda DROP FOREIGN TABLE xxx okinuti grešku da se koristi u nekim upitima. Nisam isprobao. |
| |
Napomena: JET linkovi na ne JET baze (npr. SQL Server) **ne mogu se preneti** u PGS jer postojeća rešenja kao što je [[http://pgxn.org/dist/tds_fdw/|tds_fdw]] ne podržavaju upis u SQL Server tabelu. | Napomena: JET linkovi na ne JET baze (npr. SQL Server) **ne mogu se preneti** u PGS jer postojeća rešenja kao što je [[http://pgxn.org/dist/tds_fdw/|tds_fdw]] ne podržavaju upis u SQL Server tabelu. Zato je jednostavnije napraviti link iz SQL Servera na PGS server pomoću PGS ODBC driver-a [[https://www.mssqltips.com/sqlservertip/3662/sql-server-and-postgresql-linked-server-configuration--part-2/|www.mssqltips.com/sqlservertip/3662/sql-server-and-postgresql-linked-server-configuration--part-2/]] |
Zato je jednostavnije napraviti link iz SQL Servera na PGS server pomoću PGS ODBC driver-a | |
[[https://www.mssqltips.com/sqlservertip/3662/sql-server-and-postgresql-linked-server-configuration--part-2/|www.mssqltips.com/sqlservertip/3662/sql-server-and-postgresql-linked-server-configuration--part-2/]] | |
| |
===== Priprema drajvera ===== | ===== Priprema drajvera ===== |
| |
Na kompjuteru sa koga će se prebacivati podaci iz JET baze podataka ili na kome će raditi Balans 4 treba instalirati 32bitni PostgreSQL ODBC driver. Opciono: Kroz //Administrative tools –> ODBC data sources (32 bit)// treba napraviti //System DSN//, čiji naziv može biti proizvoljan (npr. **PostgreSQL35W**) i podesiti mu svojstva u skladu sa {{:kb:uputstva:postgres_odbc_driver.png?linkonly|ovim primerom.}} {{:bal:znanje_32.png?nolink&32x32 }}Detalji o svim parametrima Postgres ODBC drajvera nalaze se na ovoj adresi: [[http://psqlodbc.projects.pgfoundry.org/docs/config.html|http://psqlodbc.projects.pgfoundry.org/docs/config.html]] | Na kompjuteru sa koga će se prebacivati podaci iz JET baze podataka ili na kome će raditi Balans 4 treba instalirati 32bitni PostgreSQL ODBC driver. Opciono: Kroz //Administrative tools –> ODBC data sources (32 bit)// treba napraviti //System DSN//, čiji naziv može biti proizvoljan (npr. **PostgreSQL35W**) i podesiti mu svojstva u skladu sa {{:kb:uputstva:postgres_odbc_driver.png?linkonly|ovim primerom.}} {{:bal:znanje_32.png?nolink&32x32 }}Detalji o svim parametrima Postgres ODBC drajvera nalaze se na ovoj adresi: [[http://psqlodbc.projects.pgfoundry.org/docs/config.html|http://psqlodbc.projects.pgfoundry.org/docs/config.html]] |
| |
===== Opcije drajvera koje utiču na Crystal Reports izveštaje ===== | ===== Opcije drajvera koje utiču na Crystal Reports izveštaje ===== |