goldsoft Ответов: 0

Консультации по быстрой большой ввод данных с SQL-сервера с использованием C# - Навальный


у меня есть программа C# WinForm, которая мне нужна для вставки быстрых больших данных в sql-сервер.

Sql-сервер находится в cloude server, а файл, который я загружаю в локальный компьютер.

файл представляет собой текст (разделенный табуляцией) в

d:\TEST\TEST.txt and has Full permissions

BAR    DES     MAK
111    aaa     222
333    bbb     333
.
.

таблица sql-сервера-это CatTbl:

BAR nvarchar(250)
DES nvarchar(250)
MAK nvarchar(250)

я пытаюсь вставить вот так:

SQL = @"BULK INSERT CatTbl FROM 'd:\TEST\TEST.txt' WITH (CODEPAGE=1255,FIELDTERMINATOR = '\t')";
Cmd = new SqlCommand(SQL, Conn);
Cmd.ExecuteNonQuery();
Cmd.Dispose();

когда я работаю на локальном sql-сервере, он работает отлично.

но в cloude sql-server я получил ошибку:

Не удается выполнить массовую загрузку, так как файл "d:\TEST\TEST.txt-не удалось открыть. Код ошибки операционной системы 21(устройство не готово).
Обратите внимание, что подключение к sql-серверу выполнено успешно
Я поискал в интернете и не нашел ответа, который решил бы эту проблему. Я был бы признателен за некоторую помощь

Что я уже пробовал:

SQL = @"BULK INSERT CatTbl FROM 'd:\TEST\TEST.txt' WITH (CODEPAGE=1255,FIELDTERMINATOR = '\t')";
Cmd = new SqlCommand(SQL, Conn);
Cmd.ExecuteNonQuery();
Cmd.Dispose();

Mehdi Gholam

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

goldsoft

спасибо, как это сделать ? или как скопировать файл на сервер ?

Herman<T>.Instance

C#-> FtpRequest (поиск по MSDN)

Dave Kreskowiak

Это полностью зависит от вашей облачной службы и/или вашего SQL-сервера, если он размещен на виртуальной машине. Поскольку никто не знает, что это такое, никто не может сказать вам ничего о том, как это сделать.

Обратитесь к документации для вашего облачного сервиса и настройки SQL.

Eric Lynch

Поскольку вы начинаете с C#, вы можете проверить следующее:

https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/bulk-copy-operations-in-sql-server

0 Ответов