Тайм-аут истек. Проблема при экспорте таблицы данных xml в sql server 2008 - .net - PullRequest
0 голосов
/ 31 августа 2010

Я экспортирую данные XML в базу данных SQL Server 2008.

.net код: Как передать XML из C # в хранимую процедуру в SQL Server 2008?

Запрос на вставку: Запрос XML в SQL Server 2008

Все работает нормально, если размер файла небольшой. Теперь размер файла XML превышает 5 МБ. Это показывает ошибку тайм-аута. Как решить эту проблему.

Ошибка: истекло время ожидания. Время ожидания истекло до завершения операции или сервер не отвечает. Заявление было прекращено.

Гит.

Ответы [ 2 ]

0 голосов
/ 31 августа 2010

Вы можете изменить время ожидания команды, например:

command.CommandTimeout = 3600;

Значение измеряется в секундах.

Однако может потребоваться изменить SQL-импорт XML. Зачастую можно повысить производительность, используя предложение OPENXML вместо метода типа данных nodes XML. См. документацию для получения информации и примеров о OPENXML.

0 голосов
/ 31 августа 2010

попробуйте использовать SqlBulkCopy Class: http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx

. Это будет лучшим вариантом, если размер данных больше. Он будет вставлять ГБ данных за доли секунды.

Для решения вашей ошибки попробуйте это: SqlCommand.CommandTimeout

...