ошибка при запуске sqlcmd с использованием vim dbext, хотя эквивалентная команда запускается вручную - PullRequest
1 голос
/ 20 февраля 2020

Я пытаюсь использовать vim + dbext для запуска запросов на AzureSQL дБ с использованием sqlcmd. В окне результатов отображается ошибка:

    Connection: T(SQLSRV)  S([SERVER])  D([DB])  U([USER])   at 17:05
    job started:17:05:47 updates every 2000 ms
    To change connection parameters:
    :DBPromptForBufferParameters
    Or
    :DBSetOption user|passwd|dsnname|srvname|dbname|host|port|...=
    :DBSetOption user=tiger:passwd=scott
    Last command(rc=1):
    sqlcmd  -U [USER]  -P[PASS]  -S [SERVER]  -d [DB]  -i C:\Users\LOCAL_~1\Temp\dbext.sql
    Last SQL:
    select * from [TABLE] where [COL] = 'VALUE'
    go
    job ran for less than 2000 ms

Если я запускаю команду точно так, как она отображается вручную в командной строке, она возвращает действительные результаты. Я считаю, что sqlcmd является 64-битной версией. Он расположен в C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\SQLCMD.EXE и находится в пути.

Конфигурация dbext для этого профиля:


    let g:dbext_default_SQLSRV_bin = 'sqlcmd'
    let g:dbext_default_SQLSRV_cmd_options = ''
    let g:dbext_default_profile_[name] = 'type=SQLSRV:user=[USER]:passwd=[PASS]:dbname=[DB]:srvname=[SERVER]'

Я пробовал это с и без строки cmd_options. Как я могу диагностировать, что идет не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...