On Tue, 29 Mar 2005 22:15:41 +0200, Thomas S wrote:
> Hvilke problemer var der med FreeTDS eller hvad var du utilfreds med?
Jeg synes, jeg stødte ind i lidt for mange "gotcha"s, altså særheder,
der godtnok er dokumenteret, når man leder efter det, men som man aldrig
ville tro var problemer. Fx. oplevede jeg underlige problemer, når jeg
benyttede tabeller med VARCHAR-felter på over 255 tegn. Og jeg oplevede
problemer med håndtering af danske tegn. Muligvis/sandsynligvis "min
skyld", idet det vistnok er dokumenteret - men ikke desto mindre sager,
der tog megen tid at prøve at få fod på. FreeTDS+PHP kan også være
kompliceret at få installeret korrekt.
Med ODBTP er har jeg haft færre af den slags situationer.
> I mit setup er MSSQL-serveren en backendserver hvor alle stamdata
> befinder sig. Udvalgte stamdata skal overføres til frontend/webserveren
> (som kører Linux / MySQL / php5) een gang i døgnet. Der skal således
> ikke køres løbende queries på MSSQL-serveren fra frontend.
Ligegyldigt hvordan du gør, skal du nok være forberedt på
datatype-forskelle mellem MSSQL og MySQL.
Mit første forsøg ville nok bestå i at benytte sqsh[1] til at dump'e
data, og så perl'e lidt på dem, for herefter at sende dem til MySQL.
Eller du kunne måske opsætte et cron-job på Windows-serveren, der
benytter MSSQL's eget dump-utility til at dump'e data; den kan vist godt
sættes til at dump'e på en måde, der gør data håndtérbare i fx. perl.
Alternativt ville jeg benytte en PHP, der har ODBTP og MySQL extensions og
ordne typekonverteringer i PHP. I sådanne situationer (PHP-scripts, der
kører i lang tid) er det ofte relevant at øge PHP's timeout-værdi[2]
betragteligt.
Referencer:
1:
http://www.sqsh.org/
Kan kompilere med brug af FreeTDS. Relativt ukompliceret, som
jeg husker det. Men æøå kan godt give problemer.
2:
http://dk.php.net/manual/en/function.set-time-limit.php
--
Greetings from Troels Arvin, Copenhagen, Denmark