ogr2ogr Пакетный файл из хранимой процедуры TSQL - PullRequest
0 голосов
/ 03 мая 2018

У меня есть хранимая процедура со следующим 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?

...