Как программно создать таблицу MS Access в SQL Server, используя SSIS? - PullRequest
0 голосов
/ 12 июня 2009

Я получаю ежемесячные обновления данных для базы данных SQL, отправляемой мне в базе данных ACCESS, существует около 30 таблиц, соответствующих этому шаблону, самая большая таблица содержит приблизительно 40 000 строк.

CREATE TABLE [dbo].[TABLE_NAME_HERE] (
[title] nvarchar (255) NULL, 
[classification1] nvarchar (255) NULL, 
[classification2] nvarchar (255) NULL, 
[1986] float NULL, 
[1987] float NULL, 
[1988] float NULL, 
[1989] float NULL, 
[1990] float NULL, 
[1991] float NULL, 
[1992] float NULL, 
[1993] float NULL, 
[1994] float NULL, 
[1995] float NULL, 
[1996] float NULL, 
[1997] float NULL, 
[1998] float NULL, 
[1999] float NULL, 
[2000] float NULL, 
[2001] float NULL, 
[2002] float NULL, 
[2003] float NULL, 
[2004] float NULL, 
[2005] float NULL, 
[2006] float NULL, 
[2007] float NULL, 
[2008] float NULL, 
[2009] float NULL, 
[2010] float NULL, 
[2011] float NULL, 
[2012] float NULL, 
[2013] float NULL, 
[2014] float NULL, 
[2015] float NULL, 
[2016] float NULL, 
[2017] float NULL, 
[2018] float NULL, 
[2019] float NULL, 
[2020] float NULL, 
[2021] float NULL, 
[2022] float NULL, 
[2023] float NULL, 
[2024] float NULL, 
[2025] float NULL)

В настоящее время у нас есть пакет DTSX, который загружает эти таблицы, однако время от времени (ежегодно) они добавляют еще один столбец, а пакет DTSX имеет закодированную информацию о столбцах.

У нас нет времени или бюджета для перепрограммирования приложений, хотя я согласен, что есть много лучших способов хранения этих данных.

Я бы хотел, чтобы пакет DTSX автоматически УДАЛЯЛ таблицу на сервере SQL, СОЗДАЛ ТАБЛИЦУ, соответствующую базе данных ACCESS, и загружал данные.

Возможно ли это?

Ответы [ 2 ]

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

Одной из опций в DTS является создание новой таблицы при импорте. Но, как и в предыдущем посте, вы должны рассмотреть проблему, потому что обычно нет необходимости (и настоятельно рекомендуется) изменить таблицу. Когда есть новый столбец, вы должны все равно изменить код своей программы, если новый столбец не является полностью бесполезным. В этом случае просто удалите столбец перед импортом, и вы снова в порядке. Если столбец полезен, то как вы будете использовать его без написания кода, который на него ссылается (после создания / импорта таблицы) ???

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

Есть ли возможность изменить структуру таблицы? Например, если у вас есть дочерняя таблица со столбцом «Год», а другой - «Значение», то не нужно будет добавлять новые столбцы из года в год. Рекомендуется хранить данные в строках таблиц, а не в именах столбцов.

Также возможно, например, использовать ADOX в MS-Acceess VBA для циклического перемещения по Коллекции полей таблицы Access и из этого создать новую таблицу в SQL Server. Код будет похож на в этой ссылке , но потребуется изменить его для работы с подключением к SQL Server и т. Д.

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