PostGreSQL forstår ikke ÆØÅ-tegn fra MSSQL

Skriv et svar

Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBkode er slået TIL
[img] er slået TIL
[flash] er slået TIL
[url] er slået TIL
Smilies er slået TIL

Emnegennemgang
   

Udvidet visning Emnegennemgang: PostGreSQL forstår ikke ÆØÅ-tegn fra MSSQL

Re: PostGreSQL forstår ikke ÆØÅ-tegn fra MSSQL

af Roman Varinsky » fre 4. aug 2017 09:24

Hvor er I gode :D Det er super godt, tusind tak.
Jeg har en masse at arbejde videre med.

Re: PostGreSQL forstår ikke ÆØÅ-tegn fra MSSQL

af bvthomsen » tors 3. aug 2017 22:58

Hej Roman -

De vedhæftede ogr2ogr kommandoer fra tidligere indlæg ser fine ud.

Du skal dog lige have styr på et par ting:

PGCLIENTENCODING environment variabel:
sættes udmiddelbart før ogr2ogr kommandoen. Hvis din MS-SQL tabel indeholder felter af typen "varchar" (character varying) skal den sandsynligvis sættes til LATIN1 ellers skal den sættes til UTF8. Dit eksempel indeholder "character varying" felter, så den skal sandsynligvis sættes til "LATIN1"

-append qualifier:
Betyder, at ogr2ogr tilføjer data til tabellen hvis den eksisterer i forvejen. Hvis du ønsker at overskrive tabellen, så den er en kopi af dine postgres tabel, skal du buger qualifier -overwrite

mvh Bo

Re: PostGreSQL forstår ikke ÆØÅ-tegn fra MSSQL

af agf » tors 3. aug 2017 16:29

Jeg har også en .cmd fil kørende mod diverse ting, det er sådan set ret enkelt, du skriver bare de kommandoer ind der skal køres, som du ville skrive i et cmd vindue.

Hos mig kører det i en osgeo4w installation på vores server, derfor kaldet i starten til en o4w_env.bat. Den sørger bl.a for at kaldet til ogr2ogr kan skrives uden stien til der hvor programmet ligger.

Vær opmærksom på, om der skal bruges LATIN1 eller UTF8 i Pgclientencoding. I min er der ogs nederst indsat noget som skriver til en log og sender en mail med forskellig tekst efter om det går godt eller ej.

Kode: Vælg alt

-append --config OGR_TRUNCATE YES
tømmer tabellen og appender data til den tomme tabel.

Hos mig ser den sådan ud:

Kode: Vælg alt

@echo off
rem Root OSGEO4W home dir to the same directory this script exists in
call "%~dp0\bin\o4w_env.bat"
SET PGCLIENTENCODING=LATIN1

ogr2ogr -append --config OGR_TRUNCATE YES -nln eogmkopi.jy63300v_diadresse -f "PostgreSQL" PG:"host=xx.xx.xx.xx port=5432 user=xxxx dbname=xxxx password=xxxx active_schema=eogmkopi" "MSSQL:server=XXXXX;database=KMDCognitoLocal;tables=JY63300V;trusted_connection=yes;"
ogr2ogr -append --config OGR_TRUNCATE YES -nln eogmkopi.jy64900v_ejer -f "PostgreSQL" PG:"host=xx.xx.xx.xx port=5432 user=xxxx dbname=xxxx password=xxxx active_schema=eogmkopi"  "MSSQL:server=XXXXX;database=KMDCognitoLocal;tables=JY64900V;trusted_connection=yes;"


Re: PostGreSQL forstår ikke ÆØÅ-tegn fra MSSQL

af Anders Barfod » tors 3. aug 2017 16:22

Hej Roman

Du kan tjekke Bo's script ud her og evt. hive fat i ham for en beskrivelse af hvordan det virker.
https://github.com/Frederikssund/ogr_scripts

I Ballerup har vi lidt jobs kørende på en Linux server i crontab. Jeg har også tidligere fået tilsendt eksempler fra Frederiksberg som har job i Bat filer. Kontakt evt Emil der.

Vh Anders

Re: PostGreSQL forstår ikke ÆØÅ-tegn fra MSSQL

af Roman Varinsky » tors 3. aug 2017 15:37

Hej Anders.

Må jeg spørge hvordan ser jeres batch ogr2ogr-kommando ud? Vil gerne køre det som en planlagt opgave, men er ovehovedet ikke skarp på hvordan man skriver en cmd-script.

Mange tak.

Re: PostGreSQL forstår ikke ÆØÅ-tegn fra MSSQL

af Roman Varinsky » man 26. jun 2017 13:00

Jeg vil overveje at lave et job.
Udfordringen ved FDW er at der fejler både encoding og primary key så jeg ender med det problem jeg oprindeligt skrev her i forummet. Medmindre du eller andre har en løsning på det.

Re: PostGreSQL forstår ikke ÆØÅ-tegn fra MSSQL

af Anders Barfod » man 26. jun 2017 12:46

Nej, bliver desværre ikke opdateret, så skal du nok have gang i et job som kører ogr2ogr kommandoen eller lave en wrapper som du har haft gang i.

Re: PostGreSQL forstår ikke ÆØÅ-tegn fra MSSQL

af Roman Varinsky » man 26. jun 2017 11:13

Det var også det jeg troede - skulle bare være hel sikker :) .
Jeg må sige at din kommando har umiddelbart løst begge problemer, altså både indlæsning af data fra MSSQL via PostGreSQL i QGIS og encoding for ÆØÅ-tegn.
Men MSSQL-tabel blev indlæst som en tabel, så jeg formoder, at den ikke bliver opdateret.

Re: PostGreSQL forstår ikke ÆØÅ-tegn fra MSSQL

af Anders Barfod » man 26. jun 2017 10:29

Jeg bruger OSGeo4W Shell som følger med ved installation a QGIS.
Her kan man bruge ogr2ogr/ogrinfo. Du kan f.eks. se om du har forbindelse til LOIS med nedenstående kommando, hvor du kan angive dit servernavn

Kode: Vælg alt

ogrinfo -so MSSQL:server=<servernavn>;database=LOIS;trusted_connection=yes;Tables=dbo.NyBBR_EnhedView"

Re: PostGreSQL forstår ikke ÆØÅ-tegn fra MSSQL

af Roman Varinsky » man 26. jun 2017 10:23

Hej Anders.

Det er blevet lidt langhåret. Hvor skriver man denne kommando henne?

Top