Sql сервер BCP выполняется внутри vb6 - PullRequest
1 голос
/ 13 января 2012

Я хочу выполнить команду BCP в приложении VB6, как я могу это сделать?

Я попробовал этот код:

BCPCMD = " 'BCP ""SELECT * FROM TABLE"" QUERYOUT C:\FILE.TXT -c -t -T -S MYSERVER' "

sql = "EXEC MASTER..XP_CMDSHELL " & BCPCMD

db.Execute (sql)

Код выполняется без ошибок, но несоздать любой файл: /

Ответы [ 3 ]

1 голос
/ 13 января 2012

Есть общее заблуждение о BCP. BCP - это исполняемый файл. BCP не является командой SQL. В Интернете вы видите много информации с подробностями о том, как выполнить BCP из оператора SQL или хранимой процедуры. Обычный ответ включает использование хранимого proc XP_CMDSHELL для запуска исполняемого файла BCP. Чтобы это решение работало, необходимо внести некоторые изменения в конфигурацию SQL Server.

Поскольку вы запускаете BCP из приложения VB, вы можете запустить исполняемый файл BCP, не имея предварительно существующего соединения с сервером базы данных из вашего приложения. Оператор командной строки для запуска выглядит примерно так:

 bcp.exe "SELECT * FROM TABLE" QUERYOUT C:\FILE.TXT -c -t -T -SmyServer -UtheUsername -PthePassword
1 голос
/ 21 января 2012

Несколько десятилетий назад (милорд), я написал оболочку VB6 (или, может быть, VB5 в то время) для обработки BCP из Visual Basic.Я использовал его в течение многих лет.

Наслаждайтесь .

0 голосов
/ 13 января 2012

Мне не терпится узнать, можно ли использовать BCP в Management studio ?? Насколько я знаю, это утилита командной строки ...

...