问题描述
按照 https://docs.qgis.org/3.16/en/docs/server_manual/containerized_deployment.html 上的教程,我已经在 docker 中设置了 qgis 服务器和 Nginx。
它适用于他们的示例中指定的示例文件。但是,一旦我将自己的 QgisProjectFile 与连接到 sqlSERVER 数据库的层一起使用,我就会收到以下错误:
<ServerException>Layer(s) not valid</ServerException>
当我查看 qgis 中的内部错误时,我可以清楚地看到只有带有 dbConnection 的层被评估为无效。
这些层在 docker 容器外的我的机器上运行良好。我还尝试了多次更改主机参数:
host.docker.internal:1433
host.docker.internal,1433
192.168.1.233:1433
192.168.1.233,1433
192.168.1.233\sqlexpress
等等。
<layer-tree-layer providerKey="mssql" id="MY_ID" expanded="0" legend_exp="" source="dbname='MY_DB_NAME' host=192.168.1.233,1433 user='MY_USER' srid=2056 type=Point disableInvalidGeometryHandling='0' table="AUE"."TABLENAME"(ADR_ELP_GEOMETRY) sql =" checked="Qt::Unchecked" name="TABLENAME">
用于挂载容器的 Docker 命令:
docker run -d --rm --name qgis-server --net=qgis --hostname=qgis-server -v ${PWD}/data:/data:ro -p 5555:5555 -e "QGIS_PROJECT_FILE=/data/OneAue_DB.qgs" qgis-server
docker run -d --rm --name Nginx --net=qgis --hostname=Nginx -v ${PWD}/Nginx.conf:/etc/Nginx/conf.d/default.conf:ro -p 8080:80 Nginx:1.13
我也成功 ping 我自己的电脑 (192.168.1.233)。有没有人在这样的设置中成功?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)