我试过这样的 ogr2ogr 命令。
ogr2ogr -f "ESRI Shapefile" "C:\temp\sqlexport.shp" "MSSQL:server=[RemoteServerIp];database=[dbname];User Id=[user];Password=[password];trust_connection=yes;" -sql "SELECT [geometrycolumn].STAsBinary() FROM [tableName] WHERE [indexColumn] = 1;" -overwrite
但我看到了错误信息。登录失败。登录来自不受信任的域,不能与 Windows 身份验证一起使用。
我不知道出了什么问题。
问题是您从不受 SQL Server 所在域信任的域运行 GIS 程序。
您可以使用多种方法来纠正此问题。您应该与您的网络管理员/sql 服务器管理员讨论最佳方法。
您的连接字符串中有冲突的登录选项。
有两种主要的身份验证类型:
Windows 身份验证 - 使用您(或服务帐户)的 Windows Active Directory 凭据。此选项不需要指定用户 ID 和密码。这是指定的
trust_connection=yes
SQL 身份验证 - 在 SQL Server 上进行的登录,需要使用用户 ID 和密码。这是指定的
User Id=[user];Password=[password]
因此,
trusted_connection=yes
如果您使用的是 SQL 身份验证,或者如果您想使用 Windows 凭据,则需要删除连接字符串的User Id
和Password
部分,并检查以确保运行它的帐户存在,并在 SQL Server中为此设置了正确的权限领域。