Hi,
I'd first try to get your Mapfile working using map2img (see
https://mapserver.org/utilities/map2img.html), remembering to set the -conf
parameter to point to your CONFIG file.
It looks like you are displaying data through MapScript, so once map2img is
working you may want to share your quickmap_geometry.php script as the error
shows:
D:\www\cgi-bin\ms5\quickmap_geometry.php(13): mapObj->draw() #1 {main} thrown
in D:\www\cgi-bin\ms5\quickmap_geometry.php on line 13
I've created a pull request with updated docs for the MSSQL driver at
https://github.com/MapServer/MapServer-documentation/pull/967
Seth
--
web:https://geographika.net & https://mapserverstudio.net
mastodon: @[email protected]
On Sat, Sep 21, 2024, at 11:13 AM, Liandres, Valeri wrote:
> Hello, Seth! Thank you for such a quick reply! We have tried the changes -
> key "mssql" in MAP and PLUGIN - in the config file. Unfortunately, a new
> error message appeared: "Failed to load dynamic Layer LIB: mssql".
> Here are my data:
> ------------------------------------------
> Environment Variables: MAPSERVER_CONFIG_FILE D:\WWW\cgi-bin\etc\mapserver.conf
> -----------------------------------------mapserver.conf----------------------
> CONFIG
> ENV
> MS_MAP_NO_PATH "foo"
> END
> PLUGIN
> "mssql" "d:\www\cgi-bin\ms5\msplugin_mssql2008.dll"
> # *New*
> END
> MAPS
> MAP1 "d:/www/local-demo/local.map"
> END
> END
> ----------------------------------------------------------------------------
> MAP
> EXTENT 4.9159680 46.7707244 15.8416465 55.0837406
> UNITS dd
> LAYER
> NAME "Bundeslaender"
> CONNECTIONTYPE PLUGIN
> *PLUGIN "mssql"* *# this should be
> the key used in the CONFIG file*
> # PLUGIN "D:\www\cgi-bin\ms5\msplugin_mssql2008.dll"
> CONNECTION "server=SErvername;uid=_user;pwd=pass;database=DB;Integrated
> Security=false"
> DATA "GEOMETRY_LL84 from GEOM_VG_BULA using unique ID using SRID=4326"
> TYPE POLYGON
> STATUS ON
> .....
> END
> END
> --------------------------------------------------tabelle
> "GEOM_VG_BULA"---------------------------------------
> // Example query the table:"GEOM_VG_BULA"
> $sql = "SELECT ID, GEOMETRY_LL84.ToString() AS GeometryData FROM GEOM_VG_BULA
> Where ID = 9";
>
> ID; NAME; TYPE; GEOMETRY_UTM32; GEOMETRY_GK3; GEOMETRY_LL84; GEOGRAPHY_LL84;
> LEV; MAXLEV; RS; RS_GEKUERZT; GF; SHAPE_LEN; SHAPE_AREA; VATER_ID;
> ID: 9 Geometry Spalte GEOMETRY_LL84: MULTIPOLYGON (((8.5046081667131244
> 53.228919296139416, 8.5058996910812716 53.2278613377389, ...............,
> 8.616166313122319 53.197993104637327)))
> --------------------------------------------------------------------------------------------------------------------------
> Error message: Fatal error: Uncaught Exception: msDrawMap(): Image handling
> error. Failed to draw layer named 'Bundeslaender'.;loadCustomLayerDLL:
> General error message.
> Failed to load dynamic Layer LIB: mssql;msGetSymbol(): General error message.
> *Can't load requested dynamic library*: mssql in
> D:\www\cgi-bin\ms5\quickmap_geometry.php:13
> Stack trace: #0 D:\www\cgi-bin\ms5\quickmap_geometry.php(13): mapObj->draw()
> #1 {main} thrown in D:\www\cgi-bin\ms5\quickmap_geometry.php on line 13
> I checked the permissions - full access What do you think is the cause?
> Best regards
> Valeri
>
> *Von:* Seth G <[email protected]>
> *Gesendet:* Freitag, 20. September 2024 13:42
> *An:* Liandres, Valeri <[email protected]>; MapServer Users
> <[email protected]>
> *Cc:* Agemar, Thorsten <[email protected]>
> *Betreff:* Re: [MapServer-users] das "PLUGIN -msplugin_mssql2008.dll" Problem
> bei Mapserver 8
>
> ACHTUNG!! Diese E-Mail erreicht Sie von einem Absender außerhalb der
> GZH-Infrastruktur. Bitte klicken Sie auf keine Links oder öffnen Sie keine
> E-Mail-Anhänge, falls Sie den Absender nicht kennen und nicht wissen, ob der
> Inhalt sicher ist.
>
> Hi Valeri,
>
> The docs at
> https://mapserver.org/input/vector/mssql.html#option-2-connect-through-mapserver-plugin
> are out of date since version 8 of MapServer.
> For all layers using a PLUGIN you have to add the plugin to your MapServer
> CONFIG file: https://mapserver.org/mapfile/config.html#config
>
> For example:
>
> PLUGINS
> "mssql" "d:\www\cgi-bin\ms5\msplugin_mssql2008.dll"
> END
>
> Then you use the key to the plugin in your Mapfile. This avoids MapServer
> loading possibly untrusted DLLs:
>
> LAYER
> NAME "..."
> CONNECTIONTYPE PLUGIN
> PLUGIN "mssql" # this should be the key used in the CONFIG file -
> CONNECTION "server=ServName;uid=_user;pwd=pass;database=DB-Name;Integrated
> Security=false"
> DATA "GEOMETRY_LL84 from GEOM_VG_BULA using unique ID using SRID=4326"
> TYPE POLYGON
> STATUS OFF
>
> When using the Mapfile through MapScript you will need to pass the path to
> your CONFIG file. See https://github.com/MapServer/MapServer/pull/6646 for
> details.
>
> This may resolve your current issue, unless you already use the DLL path a
> key, in which case it could be something else such as an extra double-quote
> in the CONNECTION string.
>
> Seth
>
> --
> web:https://geographika.net & https://mapserverstudio.net
> mastodon: @[email protected]
>
> On Fri, Sep 20, 2024, at 12:08 PM, Liandres, Valeri via MapServer-users wrote:
>> Hello,
>>
>> we are migrating our project with Mapserver 7 to Mapserver 8.0. Our project
>> has been working stably under Mapserver 7 for a long time.
>>
>> One component of the project is DB query MSSQL - Server using MAP file and
>> PLUGIN routine.
>>
>> Although we are using the latest version of "msplugin_mssql2008.dll", we
>> always get an error message that the query is wrong. The table
>> "GEOM_VG_BULA" and permissions are OK.
>>
>> The call is in the PHP file as:
>>
>> $oMap = new mapObj(MAPFILE);$oMap->setSize(1990, 1160);.... $oImage =
>> $oMap->draw();
>>
>> -------
>>
>> MAP
>>
>> ...
>>
>> LAYER
>>
>> NAME "..."
>>
>> CONNECTIONTYPE PLUGIN
>>
>> PLUGIN "d:\www\cgi-bin\ms5\msplugin_mssql2008.dll"
>>
>> CONNECTION
>> "server=ServName;uid=_user;pwd=pass;database=DB-Name;Integrated
>> Security=false"
>>
>> *DATA "GEOMETRY_LL84 from GEOM_VG_BULA using unique ID using SRID=4326"
>> <<<<< *here table *GEOM_VG_BULA* , column *GEOMETRY_LL84*
>>
>> TYPE POLYGON
>>
>> STATUS OFF
>>
>> ...
>>
>> END
>>
>> -------
>>
>> The error message:
>>
>> Fatal error: Uncaught Exception: msDrawMap(): Image handling error. Failed
>> to draw layer named 'Bundeslaender'.;msMSSQL2008LayerOpen():
>>
>> *Query error*. Error with MSSQL2008 data variable. You specified 'Error
>> parsing MSSQL2008 *data variable: nothing specified in DATA statement*.
>>
>> <br><br> More Help:<br><br> '.<br> Standard ways of specifying are : <br>
>> (1) 'geometry_column from geometry_table' <br> (2) 'geometry_column from
>> (<sub query>) as foo using unique <column name> using
>> SRID=<srid#>' <br><br> Make sure you utilize the 'using unique
>> <column name>' and 'using with <index name>' clauses in.
>> <br><br>For more help, please see http://www.mapdotnet.com
>> <br><br>mapmssql2008.c - version of 2007/7/1. in
>> D:\www\cgi-bin\ms5\quickmap_geometry.php:13
>>
>> Stack trace: #0 D:\www\cgi-bin\ms5\quickmap_geometry.php(13):
>> mapObj->draw() #1 {main} thrown in D:\www\cgi-bin\ms5\quickmap_geometry.php
>> on line
>>
>>
>>
>> Is this a problem only with version 8.0?
>>
>> Unfortunately, we cannot use "Connection type OGR" in our project structure.
>>
>>
>>
>> Can anyone help us?
>>
>> Valeri
>>
>> _______________________________________________
>> MapServer-users mailing list
>> [email protected]
>> https://lists.osgeo.org/mailman/listinfo/mapserver-users
>>
>
_______________________________________________
MapServer-users mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/mapserver-users