#1 Thu 30 June 2011 20:45
- scott159
- Participant occasionnel
- Date d'inscription: 12 Jun 2011
- Messages: 10
MapServer 6 - SQL Server 2008
Bonjour,
J'ai récemment implémenté MapServer sur des serveurs Windows à partir du package MS4W 3.0.1. A partir de ce package, j'arrive à me connecter à des bases de données spatiales situées sur MS SQL Server 2008.
Problème, depuis la migration vers MapServer 6 (package de migration récupéré sur MS4W.MapTools.org) consistant à mettre à jour quelques fichiers, j'ai une erreur du type "Internal Server Error". Après quelques recherches, il semble que les fichiers impactés pourraient être maplib.dll et mapserv.exe. Si quelqu'un pourrait me dire où je pourrai récupérer un package MS4W complet pour MapServer 6.0 ou l'erreur que je commet, je suis preneur ...
Hors ligne
#2 Sat 10 March 2012 09:44
- Alma Rebelde
- Participant occasionnel
- Date d'inscription: 5 Mar 2012
- Messages: 18
Re: MapServer 6 - SQL Server 2008
Bonjour,
Moi aussi je cherche un packtage complet Pour MApServer, et je me demande est ce qu'il y a une version standard??
Cordialement
Hors ligne
#3 Mon 08 April 2013 10:28
- diletant2
- Participant occasionnel
- Date d'inscription: 10 Feb 2010
- Messages: 36
Re: MapServer 6 - SQL Server 2008
Bonjour,
La connexion entre MapServer (6.2 beta4) et MSSQL fonctionne correctement selon moi, avec le package 3.0.6 de MS4W
http://www.maptools.org/ms4w/index.phtm … loads.html
En revanche, je n'arrive pas à écrire une requête valide dans la ligne "DATA" d'un mapfile. Si quelqu'un a une idée...
***
Hi,
I succeeded in displaying spatial features stored inside a mssqlserver db with MapServer.
But only by declaring
Code:
CONNECTIONTYPE OGR CONNECTION "MSSQL:server=xxx;uid=xxx;pwd=xxx;database=xxx;Integrated Security=True;tables=schema.table(geometry_column_name);GeometryFormat=native"
All the features of the spatial table get drawn OK on the map.
I would like to go further by selecting data with a where clause and/or performing some joins with other table’s attributes.
as it works fine with PostGIS data.
Ex :
Code:
CONNECTIONTYPE POSTGIS CONNECTION … DATA 'the_geom FROM (my_sql_request) AS tmp USING UNIQUE id using srid=4326'
But as soon as I uncomment any DATA statement (event a very basic one) through an OGR MSSQL connection, I get an error msg :
http://mymapserver/cgi-bin/mapserv.exe? … AYERS=test
msDrawMap(): Image handling error. Failed to draw layer named 'test'.msOGRFileOpen(): OGR error. GetLayer(my_request) failed for OGR connection ` MSSQL:server=xxx;uid=xxx;pwd=xxx;database=xxx;Integrated Security=True;tables=schema.table(geometry_column_name);GeometryFormat=native'
Do you have any spec/guidelines on how to request mssqlserver data with a SQL request inside a DATA statement from MapServer ?
Thanks for your help
Clément
***
Config :
MsSqlServer 10.50 (2008R2) under Windows server 2008 R2 (x64)
Mapserver 6.2 beta4 under Windows server 2008 R2 (x64)
Here’s my mapfile
Code:
MAP NAME WMS_server STATUS ON SIZE 600 600 EXTENT -10 40 15 52 IMAGECOLOR 255 255 255 FONTSET ../etc/fonts.txt IMAGETYPE PNG8 TRANSPARENT ON RESOLUTION 72 OUTPUTFORMAT NAME 'PNG8' DRIVER AGG/PNG IMAGEMODE RGBA MIMETYPE "image/png" FORMATOPTION "TRANSPARENT=ON" FORMATOPTION "QUANTIZE_FORCE=ON" #FORMATOPTION "QUANTIZE_DITHER=OFF" FORMATOPTION "QUANTIZE_COLORS=256" #FORMATOPTION “INTERLACE=OFF” END WEB IMAGEPATH "/ms4w/tmp/ms_tmp/" IMAGEURL "/ms_tmp/" METADATA "wms_srs" "EPSG:4326 EPSG:3785 EPSG:900913" "wms_feature_info_mime_type" "text/html" END END CONFIG "PROJ_LIB" "D:/ms4w/proj/nad/" PROJECTION "init=epsg:4326" END # # Start of layer definitions # LAYER NAME test INCLUDE "layer_metadata.map" TYPE LINE STATUS ON CONNECTIONTYPE OGR CONNECTION "MSSQL:server=xxx;uid=xxx;pwd=xxx;database=xxx;Integrated Security=True;tables=schema.table(geometry_column_name);GeometryFormat=native" #DATA " geometry_column_name (geometry) from schema.table " PROJECTION "init=epsg:4326" END CLASS STYLE COLOR 0 0 0 WIDTH 1 END END PROCESSING 'CLOSE_CONNECTION=DEFER' END END # Map File
Dernière modification par diletant2 (Mon 08 April 2013 10:30)
Hors ligne
#4 Thu 21 November 2013 11:29
- diletant2
- Participant occasionnel
- Date d'inscription: 10 Feb 2010
- Messages: 36
Re: MapServer 6 - SQL Server 2008
En fait, il suffit d'écrire n'importe quelle requête SQL correcte dans la ligne DATA
voici un bloc qui marche dans un LAYER de mapfile
Code:
CONNECTIONTYPE OGR CONNECTION "MSSQL:server=IP;uid=login;pwd=pwd;database=dbname;tables=tablename(geometry_column_name);GeometryFormat=native" PROCESSING 'CLOSE_CONNECTION=DEFER' DATA 'select geometry from table'
Il est possible d'ajouter une clause where dans la requête SQL
Hors ligne