Проблемы с импортом базы данных с vb.net - PullRequest
0 голосов
/ 29 мая 2009

Я пытаюсь импортировать таблицу в защищенную базу данных sql, используя vb.net, но кажется, что время ожидания (или я так думаю) не импортируется должным образом (нулевое значение), я обрезаю таблицу для сохранения типов полей затем вызовите функцию shell () для импорта файла и

'Очистить существующие данные в таблице импорта проверки

cmd.CommandText = "TRUNCATE TABLE HedgeFileBuilders.dbo.HedgeInput_" & strProduct & "_VALIDATOR;"
cmd.ExecuteNonQuery()

're-import the inforce file to validate it

Try
    If chkSQLServerSource Then
    Shell(SQLLOCALDIR & "Prog\bcp.exe FileBuilders.dbo.Input_" & strProduct   & "_VALIDATOR in " & strFileName & "  -c -t , -r \n -S server -U user -P passkey -F 2 -h TABLOCK", AppWinStyle.Hide, True)
    Else
    Shell(SQLLOCALDIR & "Prog\bcp.exe FileBuilders.dbo.Input_" & strProduct & "_VALIDATOR in " & strFileName & "  -c -t , -r \n -S pcname -T -F 2 -h TABLOCK", AppWinStyle.Hide, True)
    End If
Catch ex As Exception
    MessageBox.Show("ERROR: An error occurred while re-importing the new business file.  Contact the system administrator.  " & ex.Message, "Contact System Administrator", MessageBoxButtons.OK, MessageBoxIcon.Error)
    Exit Sub
End Try

'ЭТО НЕ Возвращает и Ошибка, но ноль результатов. Я делаю импорт вручную в SQL, и он работает (все данные есть). Я даже использую strFilename и имя таблицы, указанные выше, из кода vb, чтобы убедиться, что я не ошибся при импорте вручную.

Что я делаю не так?

P.S. Я попробовал параметр целочисленного значения тайм-аута '-l' после логического значения 'True' выше, и это не помогло.

Ответы [ 2 ]

0 голосов
/ 10 июня 2009

Типы данных в таблице, которую я пытался импортировать, отличаются от таблицы SQL, которая усекалась и добавляла импортированные данные (нулевые и не нулевые и т. Д.). Я установил соответствие типов данных, и командная строка оболочки работает, как и ожидалось .

0 голосов
/ 30 мая 2009

Я предлагаю сравнить вашу строку (собрать ее в локальной переменной), которую вы выполняете с аналогичной строкой из известного исправного рабочего пакетного / cmd-файла.

Кроме того, если в вашем каталоге для bcp.exe есть пробелы, вам нужно будет использовать двойные кавычки вокруг всего пути к исполняемому файлу в вашей строке. Аналогично для strFilename.

В основном, убедитесь, что ваш известный ручной импорт командной строки для того же файла производится в вашем коде.

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