Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako u ODBC 5.1 definisati set karaktera?

[es] :: MySQL :: Kako u ODBC 5.1 definisati set karaktera?

[ Pregleda: 2342 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BigFoot
Boban Jovanović
Arilje

Član broj: 1098
Poruke: 991
93.86.209.*



+35 Profil

icon Kako u ODBC 5.1 definisati set karaktera?01.11.2009. u 00:28 - pre 176 meseci
Verzija MySQL ODBC 3.51 je imala opciju za podešavanje "Character Set" (Default character set to use), ali je ne vidim u verziji 5.1. Kako ovo isto podesiti u 5.1 jer mi Delphi aplikacija ne radi bez toga?
Two beer or not two beer...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?01.11.2009. u 19:25 - pre 176 meseci
ne trosim mysql preko odbc-a, mislim da nikad nisam to ni probao al . hoces da kazes da parametar "charset" vise ne postoji?
http://dev.mysql.com/doc/refma...ion-connection-parameters.html pise da taj parametar postoji od 3.51.17 ?

Ako je izbacen, izbacen je zbog necega sto je microsoft trazio po odbc standardu ... provericu sutra sa momcima koji prave taj drajver o cemu se radi pa cu da javim ovde
 
Odgovor na temu

BigFoot
Boban Jovanović
Arilje

Član broj: 1098
Poruke: 991
91.150.109.*



+35 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?01.11.2009. u 21:35 - pre 176 meseci
Našao sam da se može zadati u ConnectionString-u npr. CharSet=UTF8; iako nema u samoj ODBC formi, gde je to imalo u 3.51. Medjutim...
Sad probah i bez zadatog Character set-a, aplikacija radi sa ODBC 3.51, a sa 5.1 izbacuje Exception sa E_FAIL kodom greske pod istim uslovima???
Two beer or not two beer...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?01.11.2009. u 22:10 - pre 176 meseci
opet rekoh, nemam pojma kako sljaka odbc, al ajde napravi neki test case ... ono par linija koda koji rade to sto je problem, pa da mogu da iscimam sutra ove likove sto rade odbc da kazu sta je cim ... znam da ima nekih inkopatibilnosti u odbc-u od 3.x do 5.1 al nemam pojma kojih ... nativni drajver radi super :D a i odbc je windoze tehnologija a ja bas i ne trosim windoze ...

moguce da ceovi oma da mi kazu sta je fora, al bolje da mi das odma code snippet koji pravi konekciju i koji pravi problem posto je 99% da ce to da mi traze :)
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?02.11.2009. u 09:10 - pre 176 meseci
u 5.1.6 su dodali charset u gui, treba da izadje "uskoro"
u connstring moze da se doda chaset (kao sto si vec provalio) ili mozes da imas registry key ( HKLM/SOFTWARE/ODBC/ODBC.INI/DSN_NAME, value name CHARSET (REG_SZ) ) u kome drzis to
e_fail nije nista "standardno" tako da, kao sto sam pretpostavio, traze dodatne podatke o greski, sta ti tacno javi, dal mozes da napravis "reproducible test case" etc...

toliko od mene, ovo ti je prevod generalno sta mi je kolega imenjak iz firme dobacio, nemam pojma o cemu se radi, nadam se da ti razumes :D ja nisam video kako myodbc izgleda 10+ godina sigurno, ako sam ga ikad i video

 
Odgovor na temu

BigFoot
Boban Jovanović
Arilje

Član broj: 1098
Poruke: 991
91.150.109.*



+35 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?02.11.2009. u 10:52 - pre 176 meseci
Ok, hvala
Nego, rekoh nije problem u CharSet-u koji sam u medjuvremenu provalio kako se koristi, ako zatreba. Aplikacija uopšte neće da izvrši SELECT nad tabelom sa ODBC 5.1. Napravljena je standardna ODBC 3.51 i ODBC 5.1 konekcija. Koristim UDL fajl u kome piše:
Code:
[oledb]
; Everything after this line is an OLE DB initstring
Provider=MSDASQL.1;Persist Security Info=False;Data Source=AppConn1;


Delphi aplikacija koristi ADOConnection sa ConnectionString-om: FILE NAME=D:\work\Delphi\Transfer\AppConn1.UDL
Ovo funkcioniše sa 3.51. Medjutim, sa 5.1 izvršava upite nad poljima sa Collation utf8_general_ci, a izbacuje Exception sa ascii_bin. Privremeno, dok ne smislim šta je razlog, u potrebnim tabelama sam prepravio Collation i sad nekako radi.
Two beer or not two beer...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?02.11.2009. u 11:04 - pre 176 meseci
Citat:
izvršava upite nad poljima sa Collation utf8_general_ci, a izbacuje Exception sa ascii_bin


aaaaaaaaa .. kako imas polje koje je utf8 sa kolacijom ascii_bin ?? to bas i nema mnogo smisla?
 
Odgovor na temu

BigFoot
Boban Jovanović
Arilje

Član broj: 1098
Poruke: 991
91.150.109.*



+35 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?02.11.2009. u 11:44 - pre 176 meseci
Ta polja koja su mi pravila problem i nisu UTF8. Ono gore sam napisao samo kao primer, a koristio sam Latin1.
Two beer or not two beer...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?02.11.2009. u 11:53 - pre 176 meseci
pusti takve primere, aj napisi

create table .. ;
insert ...;

i onda, kakav ti je config i koji
select ...
radis ..

dakle napravis kratak primer koji izbacuje exception i ja onda iscimam lika koji to pravi da kaze de je greska... ovako se igramo gluvih telefona ..

EDIT: nevezano za ovaj problem, delfi ima native drajvere za mysql? zasto koristis odbc ?
 
Odgovor na temu

BigFoot
Boban Jovanović
Arilje

Član broj: 1098
Poruke: 991
91.150.109.*



+35 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?02.11.2009. u 15:03 - pre 176 meseci
Evo test primera:
Code:
CREATE TABLE `komanda` (
  `KomandaID` int(11) NOT NULL auto_increment,
  `DatumVreme` datetime NOT NULL default '0000-00-00 00:00:00',
  `Komanda` varchar(32) collate ascii_bin default NULL,
  `Parametar` varchar(4096) collate ascii_bin default NULL,
  PRIMARY KEY  (`KomandaID`),
  KEY `Komanda` (`Komanda`)
) ENGINE=InnoDB DEFAULT CHARSET=ascii COLLATE=ascii_bin;

INSERT INTO `komanda` (`KomandaID`, `DatumVreme`, `Komanda`, `Parametar`) VALUES
(NULL, '2007-10-07 09:06:03', 'SKINI_POKRENI', 'Integritet.rar'),
(NULL, '2007-12-13 12:04:41', 'SKINI_POKRENI', 'proslo.rar'),
(NULL, '2008-01-25 08:47:41', 'SKINI_POKRENI', 'pont.rar'),
(NULL, '2008-01-25 08:48:17', 'SKINI_POKRENI', 'ponk.rar'),
(NULL, '2008-02-15 22:05:41', 'SKINI_POKRENI', 'mail.rar');


Aplikacija je Delphi 7, koristi ADOConnection, sa ConnectString-om:
Provider=MSDASQL.1;Persist Security Info=False;Data Source=AppConn1;Extended Properties="DSN=AppConn1;"

Zašto ODBC? Tako nasledjeno...
Two beer or not two beer...
Prikačeni fajlovi
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?03.11.2009. u 10:05 - pre 176 meseci
evo ukratko sta mi rekose

1. DatumVreme` datetime NOT NULL default '0000-00-00 00:00:00',

ovo nije po ODBC ADO standardu. ODBC ADO ima neki mindate .... kada odbc ado naleti na ovo ... kabooom


2. e, `Parametar` varchar(4096) je isto van ODBC standarda

i sad kad ADO naleti na 4096 i jos multibyte ne zna kako izracunat max_field_length


fora je sto je 3.x single byte a 5.1 multibyte, 3.x ne sljivi 2 posto standarde i samo radi, 5.x se cima da postuje standarde, razume sta je multibyte i slicno ... dodatan problem pravi kolacija *_BIN, bilo koja koja nije _BIN bi trebalo da ne pravi problem...

sad .. najjednostavnije je da koristis kolaciju koja nije bin i trebalo bi sve da sljaka. veliko je pitanje kako ce se ponasati (ja nemam gde sada sam da proverim, nemam windoze u kuci) odbc i ado kada nalete na string koji ima tih 4K karaktera posto odbc to ne podrzava i realno treba da pukne ... sta ce "stvarno" da bude moras da probas.


Elem, za dalju analizu, momci traze da upalis "odbc trace", dobijes gresku, onda celu gresku i trace posaljes vamo i oni ce ti reci tacno sta od svega ovoga (ili mozda neceg drugog) pravi problem i kako da ga resis.


EDIT: nisi ostavio podatke za odbc, samo za oledb, trebaju nam "svi podaci za odbc", dakle svi parametri, aj please to dodaj

[Ovu poruku je menjao bogdan.kecman dana 03.11.2009. u 11:26 GMT+1]
 
Odgovor na temu

BigFoot
Boban Jovanović
Arilje

Član broj: 1098
Poruke: 991
93.87.134.*



+35 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?03.11.2009. u 22:13 - pre 176 meseci
Vidju, vidju... Dakle, ima grešaka i u definiciji baze, mada nisu značajne. Nego, nešto me ne sluša ovaj ODBC trace. Neće svaki put da napravi log. Jedva sam ga jednom naterao i u prilogu je taj log. Ne znam na koje podatke o ODBC misliš. ODBC konekciju sam napravio kroz U/I, popunio samo naziv konekcije, adresu MySQL servera, korisničko ime, šifru i naziv baze. Sa flag opcijama sam eksperimentisao, ali nisu uticale na moj problem, a dati log je sa svim flag-ovima isključenim (default).
Two beer or not two beer...
Prikačeni fajlovi
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?03.11.2009. u 22:31 - pre 176 meseci
aaaaaaa, ovaj .. u ovom logu nemas gresku nijednu? jesi uspeo da dobijes ponovo taj E_FAIL ?

drugo, daj tacno celu gresku tu za e_fail, sve sto dobijes

i trece, aj please napravi screenshot tog odbc settingsa, samo zazvrljuaj user/pass/hostname u nekom paintu ili sta vec ima na windozama
 
Odgovor na temu

BigFoot
Boban Jovanović
Arilje

Član broj: 1098
Poruke: 991
79.101.80.*



+35 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?04.11.2009. u 09:16 - pre 176 meseci
Kada sam malo popravio bazu, smanjio VARCHAR na 250, što je dovoljno, postavio Collation na UTF8, sve radi. Dakle, suština je poštovanje standarda u verziji 5.1 što sam očekivao i za 3.51, ali vidiš da nije. Ako je njima nešto značajno da ponovo izazovem grešku, koja to ustvari i nije nego regularno ponašanje u neregularnoj situaciji, mogu da napravim detaljniji test case. U svakom slučaju hvala za smernice jer su mi pomogle i problem je rešen.
Two beer or not two beer...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Kako u ODBC 5.1 definisati set karaktera?04.11.2009. u 20:04 - pre 176 meseci
ma pazi lik mi je odma rekao kada je video bazu za tih par sitnica oko tabele... takodje to da je 3.x single byte, tj, nema ideju sta je to character set u stvari, dok je 5.1 fully multibyte ovo ono ..i da postuje standarde ... 3.x je bajat, on samo "radi" al sto se standarda tice, vecinu zaobilazi :) ... osnovni zez je sto je taj bajati koji ne postuje standarde izmedju ostalog pravio lik koji je pisao odbc standard, a sada kada na tome radi kolega sa balkana, taj drajver postuje standarde :) ...

ti "standardi" microsnotovi su ludnica .. sve te limite mozes da iskopas na msdn-u ako kopas dovoljno duboko ... vecinu tih limita na unix-u ako koristis unixodbc menjas u config fajlu :D

inace vezano za standarde je cudo problema .. posto se od pocetka mnogi ne postuju a onda kada se implementira "postovanje" onda to pravi nekompatibilni upgrade, tako da 95% nekompatibilnosti sa 4.0 na 4.1 je bas vezan za standarde ... a sa 4.1 na 5.0 je negde oko 80% nekompatibilnosti vezano za standarde ... malo malo pa imamo (na zalost internu, a neko vreme se vec prica da to prebacimo da bude externo i nadamo se da ce tu orcl da pomogne mada, kako je krenulo ko zna dal ce / kad ce biti taj dil) prepiske "da li da krenemo da postujemo ovaj standard, da li da uvedemo switch pa ko oce da upali ko nece ne mora, ili da se prebacimo skroz, koliko ce nas klijenti mrzeti etc etc ... dakle sada vec, u ovom 5.1/5.4 codebase-u mnoooogo od standarda koji se ne postuje bi relativno lako mogao da se postuje, problem je sta onda sa aplikacijama koje koriste "prethodno ponasanje" :( ...

ma ... mnogo smora oko gluposti


 
Odgovor na temu

[es] :: MySQL :: Kako u ODBC 5.1 definisati set karaktera?

[ Pregleda: 2342 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.