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

Integration med QGIS
Brugeravatar
Roman Varinsky
Indlæg: 28
Tilmeldt: fre 11. mar 2016 09:47
Geografisk sted: Munkebo
Kontakt:

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

Indlæg af Roman Varinsky » man 26. jun 2017 09:44

Kære forum.

I Forbindelse med mit tidligere spørgsmål "Indlæsning af MSSQL lag gennem PostGre i QGIS", har jeg også problemer med læsning af ÆØÅ-tegn fra MSSQL. Har nogen prøvet at indlæse en tabel fra MSSQL og set data via PostGreSQL?
Min MSSQL-database ligger i et eksternt miljø med collation "SQL_Danish_Pref_CP1_CI_AS" og min PostGreSQL ligger indtil videre installeret lokalt med collation "Danish_Denmark.1252". Vedhæftet er et udklip fra jordstykke-tabellen.

Mvh Roman
Du har ikke de nødvendige tilladelser til at se vedhæftede filer i dette indlæg.
0 x
GIS-koordinator
Kerteminde Kommune

Anders Barfod
Indlæg: 37
Tilmeldt: tirs 15. mar 2016 10:39
Geografisk sted: Købanhavn

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

Indlæg af Anders Barfod » man 26. jun 2017 10:05

Har ikke prøvet at opsætte OGR FDW, men ved at man skal bruge

Kode: Vælg alt

SET PGCLIENTENCODING=latin1
hvis tegnsætningen i MSSQL er latin 1. Vi plejer at bruge ogr2ogr som nedenstående

Kode: Vælg alt

SET PGCLIENTENCODING=latin1
ogr2ogr -overwrite -f PostgreSQL PG:"dbname=mydbname host=myhost port=5432 user=myuser password=mypw" -lco SCHEMA=public -nln bbr_enheder MSSQL:server=myserver;database=mydb;trusted_connection=yes;Tables=NyBBR_EnhedView"
Ved ikke om det hjælper
0 x

Brugeravatar
Roman Varinsky
Indlæg: 28
Tilmeldt: fre 11. mar 2016 09:47
Geografisk sted: Munkebo
Kontakt:

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

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

Hej Anders.

Det er blevet lidt langhåret. Hvor skriver man denne kommando henne?
0 x
GIS-koordinator
Kerteminde Kommune

Anders Barfod
Indlæg: 37
Tilmeldt: tirs 15. mar 2016 10:39
Geografisk sted: Købanhavn

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

Indlæg 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"
0 x

Brugeravatar
Roman Varinsky
Indlæg: 28
Tilmeldt: fre 11. mar 2016 09:47
Geografisk sted: Munkebo
Kontakt:

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

Indlæg 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.
0 x
GIS-koordinator
Kerteminde Kommune

Anders Barfod
Indlæg: 37
Tilmeldt: tirs 15. mar 2016 10:39
Geografisk sted: Købanhavn

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

Indlæg 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.
0 x

Brugeravatar
Roman Varinsky
Indlæg: 28
Tilmeldt: fre 11. mar 2016 09:47
Geografisk sted: Munkebo
Kontakt:

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

Indlæg 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.
0 x
GIS-koordinator
Kerteminde Kommune

Brugeravatar
Roman Varinsky
Indlæg: 28
Tilmeldt: fre 11. mar 2016 09:47
Geografisk sted: Munkebo
Kontakt:

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

Indlæg 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.
0 x
GIS-koordinator
Kerteminde Kommune

Anders Barfod
Indlæg: 37
Tilmeldt: tirs 15. mar 2016 10:39
Geografisk sted: Købanhavn

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

Indlæg 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
0 x

Brugeravatar
agf
Indlæg: 41
Tilmeldt: tors 10. mar 2016 14:12
Geografisk sted: Syddjurs
Kontakt:

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

Indlæg 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;"


0 x
Allan G. Frederiksen, Syddjurs Kommune.

Besvar

Social Media