0

我有一个 ogr2ogr 批处理文件,它将 SQL 数据重新投影到一个新的 SQL Server 表中。

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

EXECUTE xp_CMDShell 'blah'

在 T-SQL 脚本中。

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

错误 1:无法加载请求的 DLL:Z:\BroadSpectrumSQLTreeExtract\ogr2ogr\gdalplugins\ogr_MSSQLSpatial.dll

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

DLL 确实包含系统表的 SQL 命令。这可能是阻止它工作的 SQL Server 安全问题吗?

4

1 回答 1

0

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

于 2019-04-30T06:07:15.243 回答