目前,我可以使用标准vim
插件dbext
访问我们的数据库。
我正在使用我们的一个sql-server-logins的细节来实现这个目标:
type=SQLSVR:user=userName:psswd=userPwrd:dsnname=SQLOLEDB.1:srvname=boxname
我可以更改此连接字符串,以便它使用我的登录凭据来访问服务器 - 与SSMS
类似吗?因此,如果在这台电脑上安装了vim,它将使用登录到这台电脑的人的详细信息来访问数据库,即如果一个访问权限少于我的同事登录到这台电脑,那么vim将使用他的详细信息 - 他访问因此数据将受到相应限制。
答案 0 :(得分:1)
这个字符串工作正常:
type=SQLSRV:integratedlogin=1:dsnname=SQLOLEDB.1:srvname=boxname
答案 1 :(得分:0)
@ whytheq的答案适用于“集成Windows身份验证”,但如果您想使用Active Directory Integrated authentication安装的SQL Server Management Studio进行连接,则需要:
通过打开PowerShell并输入sqlcmd.exe
并确保源路径以get-command sqlcmd
开头,确保32位版本的C:\Program Files (x86)\
位于搜索路径中。如果不是,则需要将C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn
添加到系统的Path环境变量中(当然,在包含64位SQLSRV.exe
的任何路径之前)。
告诉dbext使用SQLSRV
代替OSQL
来执行查询,方法是将其添加到_vimrc
(理想情况下在augroup
中dbext readme建议):
let g:dbext_default_SQLSRV_bin = 'sqlcmd'
let g:dbext_default_SQLSRV_cmd_options = '-b -G -N'
请注意,-G
告诉SQLSRV
使用Active Directory集成身份验证,-N
用于加密连接。
除了:奇怪的是,从强制执行安全连接的服务器请求安全连接(-N
)可能会出现错误消息,指出SSL Provider: The target principal name is incorrect
,在这种情况下,您我想放弃-N