[Mapbender-users] Problem using the Search Router (can't find table)
Astrid Emde
astrid.emde at wheregroup.com
Mon Jul 3 13:21:29 PDT 2017
Hi,
you only referred one database, but you need one for Mapbender and one
for your database with geodata.
The configuration should look like this
doctrine:
dbal:
default_connection: default
connections:
default:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
path: %database_path%
user: %database_user%
password: %database_password%
charset: UTF8
logging: %kernel.debug%
profiling: %kernel.debug%
acadb:
driver: %database2_driver%
host: %database2_host%
port: %database2_port%
dbname: %database2_name%
path: %database2_path%
user: %database2_user%
password: %database2_password%
charset: UTF8
logging: %kernel.debug%
profiling: %kernel.debug%
see
https://doc.mapbender3.org/en/book/database.html#using-multiple-databases
Afterwards you can change the search router configuration and refer to
acadb
class: Mapbender\CoreBundle\Component\SQLSearchEngine
class_options:
connection: acadb
relation: data.aires_prot_priv
attributes:
- objectid
- code_proje
geometry_attribute: geom
form:
code_proje:
type: text
options:
required: true
compare: ilike
results:
view: table
count: true
headers:
code_proje: Name
callback:
event: click
options:
buffer: 10
minScale: null
maxScale: null
Astrid
Am 2017-07-03 19:22, schrieb Abrabacabra:
> Thank you Astrid.
>
> Although I am still missing something and I can't spot it...
>
> It can find the connection, but even if the credentials and
> permissions are correct, I still get the "No such table" error. In
> fact, even if I put incorrect information in parameters.yml (such as
> not wrong database driver, wrong adress, wrong port, wrong user, wrong
> password, etc), it raises the "No such table" error.
>
> I included the links to the configuration files
> CONFIG.YML: https://paste.debian.net/hidden/317e0f4c/
> PARAMETERS.YML: https://paste.debian.net/974572/
> SEARCHROUTER CONFIGURATION: https://paste.debian.net/974573/
>
> On 2017-07-03 11:46 AM, Astrid Emde wrote:
>
>> Hello Patrice,
>>
>> Am 2017-07-01 16:15, schrieb Patrice:
>>
>>> I am trying to use the Search Router bundle in an application, but
>>> it
>>> fails.
>>>
>>> At first, it could not find the database, so I have setup the
>>> database
>>> in config.yml and parameters.yml.
>>>
>>> Now, it can't find the table to search in.
>>>
>>> Here is the error in prod.log:
>>>
>>> [2017-07-01 14:04:54] request.CRITICAL: Uncaught PHP Exception
>>> Doctrine\DBAL\DBALException: "An exception occurred while
>>> executing
>>> 'SELECT t.objectid, t.code_proje, ST_AsGeoJSON(geom) as geom FROM
>>> data.aires_prot_priv t WHERE LOWER(t.code_proje) LIKE LOWER(?)'
>>> with
>>> params ["%tabi%"]: SQLSTATE[HY000]: General error: 1 no such
>>> table:
>>> data.aires_prot_priv" at
>>>
>>
> C:\ms4w\apps\mapbender3-3.0.5.3\vendor\doctrine\dbal\lib\Doctrine\DBAL\DBALException.php
>>>
>>> line 91 {"exception":"[object]
>>> (Doctrine\\DBAL\\DBALException(code:
>>> 0): An exception occurred while executing 'SELECT t.objectid,
>>> t.code_proje, ST_AsGeoJSON(geom) as geom FROM data.aires_prot_priv
>>> t
>>> WHERE LOWER(t.code_proje) LIKE LOWER(?)' with params
>>> [\"%tabi%\"]:\n\nSQLSTATE[HY000]: General error: 1 no such table:
>>> data.aires_prot_priv at
>>>
>>
> C:\\ms4w\\apps\\mapbender3-3.0.5.3\\vendor\\doctrine\\dbal\\lib\\Doctrine\\DBAL\\DBALException.php:91,
>>>
>>> PDOException(code: HY000): SQLSTATE[HY000]: General error: 1 no
>>> such
>>> table: data.aires_prot_priv at
>>>
>>
> C:\\ms4w\\apps\\mapbender3-3.0.5.3\\vendor\\doctrine\\dbal\\lib\\Doctrine\\DBAL\\Connection.php:691)"}
>>>
>>> []
>>>
>>> The table "aires_prot_priv" does exist in the "data" schema and I
>>> have
>>> the necessary right to read from it (made the test with pgAdmin
>>> using
>>> the same credentials as specified in parameters.yml).
>>>
>>> However, as my database and schema are already filled with the
>>> data I
>>> want to use, I didn't create the database and schema using
>>> "doctrine:database:create". Is this mandatory in order to use the
>>> search router?
>>
>> No - this is not mandatory.
>>
>>> What am I missing?
>>
>> It looks like your database configuration is not right or your
>> configuration.
>> You should ceck this again in parameters.yml and config.yml.
>>
>>
> https://doc.mapbender3.org/en/book/database.html#using-multiple-databases
>>
>>
>> In the searchRouter configuration you have to use the name that you
>> defined for your second database
>>
>> Hope that helps
>>
>> Astrid
>>
>>> _______________________________________________
>>> Mapbender_users mailing list
>>> Mapbender_users at lists.osgeo.org
>>> https://lists.osgeo.org/mailman/listinfo/mapbender_users
> _______________________________________________
> Mapbender_users mailing list
> Mapbender_users at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/mapbender_users
--
Mit freundlichen Grüßen
Astrid Emde
GIS-Consultant
**********************************
AGIT 2017
5.-7. Juli 2017 in Salzburg
Besuchen Sie uns an Stand Nr. 31
www.agit.at
**********************************
Astrid Emde
WhereGroup GmbH & Co.KG
Eifelstraße 7
53119 Bonn
Germany
Fon: +49(0)228 90 90 38 - 22
Fax: +49(0)228 90 90 38 - 11
astrid.emde at wheregroup.com
www.wheregroup.com
Folgen Sie der WhereGroup auf twitter:
http://twitter.com/WhereGroup_com
Amtsgericht Bonn, HRA 6788
-------------------------------
Komplementärin:
WhereGroup Verwaltungs GmbH
vertreten durch:
Olaf Knopp, Peter Stamm
-------------------------------
More information about the Mapbender_users
mailing list