1 下载
mapserver中的gdal默认是打开Oracle oci的。
2 设置环境变量
软件包下载完成并解压后,需要设置环境变量,这里假设解压至C:\gdal244
GDAL_DATA C:\gdal244\bin\gdal-data
GDAL_DRIVER_PATH C:\gdal244\bin\gdal\plugins
PROJ_LIB C:\gdal244\bin\proj\SHARE
#最小设置
PATH C:\gdal244\bin;C:\gdal244\bin\gdal\apps;C:\gdal244\bin\gdal\java
#常规设置,参考C:\gdal244\SDKShell.bat
设置好后打开命令行窗口,输入
gdalinfo --version
如果没有安装Oracle oci,这个时候会报异常.因为这两个dll依赖Oracle oci.dll.
ERROR 1: Can't load requested DLL: C:\gdal244\bin\gdal\plugins\gdal_GEOR.dll
126: 找不到指定的模块。
ERROR 1: Can't load requested DLL: C:\gdal244\bin\gdal\plugins\gdal_GEOR.dll
126: 找不到指定的模块。
ERROR 1: Can't load requested DLL: C:\gdal244\bin\gdal\plugins\ogr_OCI.dll
126: 找不到指定的模块。
ERROR 1: Can't load requested DLL: C:\gdal244\bin\gdal\plugins\ogr_OCI.dll
126: 找不到指定的模块。
GDAL 2.4.4, released 2020/01/08
3 关闭Oracle OCI支持【可选】
注意: 默认是开启Oracle OCI支持
C:\gdal244\SDKShell.bat hideoci
直接运行C:\gdal244\SDKShell.bat,首先会检查是否安装了oci.dll,如果没有安装则自动移动ogr_OCI.dll和gdal_GEOR.dll,然后设置当前窗口的环境变量。hideoci参数表示gdal不使用OCI的相关功能,实际是把C:\gdal244\bin\gdal\plugins\ogr_OCI.dll和C:\gdal244\bin\gdal\plugins\gdal_GEOR.dll移动至C:\gdal244\bin\gdal\plugins-optional。
关闭Oracle OCI支持后,再次运行就不会再报错了。
gdalinfo --version
4 打开PostgreSQL支持【可选】
move "C:\gdal244\bin\gdal\plugins-optional\ogr_PG.dll" "C:\gdal244\bin\gdal\plugins\ogr_PG.dll"
测试
gdalinfo "PG:host=127.0.0.1 port=5432 dbname='test' user='test' password='123' schema='public' table='test'"
如果显示下面的内容表示gdal postgresql支持成功启用。异常的原因是因为本机没有安装数据库。
ERROR 1: PQconnectdb failed: could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
ERROR 1: Couldn't establish a database connection
gdalinfo failed - unable to open 'PG:host=127.0.0.1 port=5432 dbname='test' user='test' password='123' schema='public' table='test''.