Я использую SQLCMD запрос к базе данных SQL сервера из машины UBUNTU (драйвер ODBC был установлен для этой цели)SQLCMD не принимает пароль в качестве части исходной команды
Если я передаю следующую команду:
sqlcmd -S xyz -d xyz -U xyz
У меня появляется запрос на ввод пароля, и я могу успешно запросить соответствующую базу данных. Но, если передать команду ниже, я получаю сообщение 'Login failed for user ****':
sqlcmd -S xyz -d xyz -U xyz -P xyz
Мне нужно, чтобы иметь возможность отправлять пароль в один проход, как мне нужно, чтобы передать файл ввода запроса и направить вывод в определенном месте , Как только я войду в базу данных, ожидая приглашения пароля, я больше не могу указывать файлы ввода/вывода. Любые идеи были бы очень полезны
Это отлично работает для меня: 'sqlcmd -S MyServer -U MyLogin -P password1 $'. Возможно, вы сможете проверить журнал ошибок для получения более подробной информации о [почему не удалось войти в систему] (http://blogs.msdn.com/b/sql_protocols/archive/2006/02/21/536201.aspx). И какая версия SQL Server у вас есть? Фактически вы можете указывать входные и выходные файлы [интерактивно] (http://msdn.microsoft.com/en-us/library/ms162773.aspx) в sqlcmd с помощью ': r' и': out'. – Pondlife
Hi Pondlife, спасибо большое, что было действительно полезно. Мне удалось использовать: r и out: получить выход в указанном месте, но изо всех сил пытаться форматировать вывод, например. если я создам следующее во входном файле: -o -h -1 -s, -k2 -W Я получаю пустой вывод csv. У вас есть указатели на получение разделенного запятой результата? Еще раз спасибо –
user2425937
См. [Этот вопрос] (http://stackoverflow.com/questions/425379/how-to-export-data-as-csv-format-from-sql-server-using-sqlcmd/425463#425463), но это не сработает, если ваши данные содержат запятые. По моему опыту sqlcmd - очень плохой инструмент для генерации CSV или любого другого другого форматированного вывода. Для CSV лучше использовать [bcp] (http://msdn.microsoft.com/en-us/library/ms162802.aspx), если это возможно, но если вы копируете данные на другой SQL-сервер, то используйте собственный (двоичный), чтобы избежать проблем с форматированием. В противном случае сценарий на предпочитаемом вами языке обычно дает лучшие результаты. – Pondlife