TSQL存储过程中的ogr2ogr批处理文件

时间:2018-05-03 07:14:07

标签: sql-server ogr2ogr

我有一个带有以下sql的存储过程

EXECUTE xp_CMDShell 
'\\gissrv\data\BroadSpectrumSQLTreeExtract\ogr2ogr_reproject.bat'

用于运行包含

的批处理文件
pushd \\gissrv\data\BroadSpectrumSQLTreeExtract\ogr2ogr

ogr2ogr -f "MSSQLSpatial" 
"MSSQL:server=gissrv;database=Infrastructure;trusted_connection=yes" 
"MSSQL:server=gissrv;database=Infrastructure;trusted_connection=yes" -sql 
"SELECT * FROM [Infrastructure].[dbo].[BS_Trees_Line_Shire_Inv]" -t_srs 
"EPSG:28355" -lco "GEOM_TYPE=geometry" -lco "GEOM_NAME=GEOMETRY_SPA" -nln 
"BS_Trees_Line_Shire_Inv_reprojected2"

popd \\gissrv\data\BroadSpectrumSQLTreeExtract\ogr2ogr

pushd创建一个临时Z驱动器来访问ogr2ogr.exe,然后将SQL数据重新投影到新表中。它在我运行它时有效,但在SQL中失败了。我得到以下内容。

ERROR 1: Can't load requested DLL: 
Z:\BroadSpectrumSQLTreeExtract\ogr2ogr\gdalplugins\ogr_MSSQLSpatial.dll
126: The specified module could not be found. 

我已经给出了文件夹SQL Service权限(完全控制)。我也试过在批处理文件中给予权限。 xp_CMDShell也已在服务器上配置。你能从SQL Server运行这样的脚本吗?

0 个答案:

没有答案