SQL 服务器 ogr2ogr 批处理无法访问 ogr_MSSQLSpatial.dll

SQL Server ogr2ogr batch unable to access ogr_MSSQLSpatial.dll

我有一个 ogr2ogr 批处理文件,可以将 SQL 数据重新投影到新的 SQL 服务器 table。

当我手动 运行 bat 文件时,它工作正常,但如果我通过 SQL 服务器存储过程 运行 bat 文件,它会失败。我已经授予 gdal 文件夹 SQL 服务权限并且 xp_CommandShell 也已启用。我正在使用

EXECUTE xp_CMDShell 'blah'

在 T-SQL 脚本中。

出于某种原因,ogr_MSSQLSpatial.dll 导致它失败。

ERROR 1: Can't load requested DLL: Z:\BroadSpectrumSQLTreeExtract\ogr2ogr\gdalplugins\ogr_MSSQLSpatial.dll

如果我通过 SQL 删除此 dll 脚本 运行s 但这意味着我需要添加 dll 必须处理的额外命令,例如设置源坐标系。我还没有设法让它 100% 工作。我得到的最远的是生成重新投影的 table 但几何字段是空的。

DLL 确实包含对系统 table 的 SQL 命令。这可能是 SQL 服务器安全问题导致它无法正常工作吗?

我在使用 SQL 执行时再次遇到另一个 ogr2ogr bat 的问题。如果我将 bat 放在与 dll 相同的文件夹中,它就可以正常工作。