Проблема с использованием сохраненного процесса для чтения данных из файла .CSV в базу данных. - PullRequest
0 голосов
/ 16 февраля 2011

Использование SQL Server 2008 и C # -

Поэтому я пытаюсь реализовать для пользователя функцию импорта файла .CSV, который я затем вызываю в Stored Proc для записи содержимого этого файла во временную папкутаблица, которая затем объединяется с фактической таблицей.

Мой вопрос / проблема в том, что я пытаюсь определить макет файла .xls, который потребуется клиенту, и предоставить ему файл шаблона .xls для использования.Данные представляют собой матрицу тарифов доставки на основе зон.Поэтому заголовки столбцов и строк дублируются:

 -  A    B    C
 A  1    2    3

 B  2    1    4

 C  3    4    1

Но я не уверен, как решить эту проблему с помощью хранимой процедуры.Поэтому другие варианты, которые у меня были, заключались в настройке шаблона .xls:

From  To   Rate

 A    A     1
 A    B     2
 A    C     3
 B    A     2
 B    B     1
 .....

Вы получаете изображение.Делать это вторым способом было бы довольно просто, и у меня есть сохраненный процесс, который позволил бы мне просматривать данные.

Однако меня интересует проблема первого примера и выяснение того, как вы это сделаететот.Есть предложения?

1 Ответ

1 голос
/ 16 февраля 2011

Есть несколько способов сделать это.

Простой способ - просто итерировать строки и столбцы (2 цикла) и передавать эти значения в proc для хранения.

Что-то вроде (псевдо-код):

foreach(DataRow row in myDataTable.Rows) {
  foreach(DataColumn col in row.Columns) {
    String value = row[col].Value
    StoreValue(row.Name, col.Name, value); // <-- this would call your proc.
  }
}

Если у вас SQL 2008, вы можете использовать параметр табличного значения и передать всю таблицу в хранимую процедуру.Оттуда вы можете сделать свои вставки.

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