Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何使用SSI在SQL Server中以编程方式创建MS Access表?_Sql Server_Ms Access_Ssis - Fatal编程技术网

Sql server 如何使用SSI在SQL Server中以编程方式创建MS Access表?

Sql server 如何使用SSI在SQL Server中以编程方式创建MS Access表?,sql-server,ms-access,ssis,Sql Server,Ms Access,Ssis,我收到ACCESS数据库中提供给我的SQL数据库的每月数据更新,大约有30个表遵循此模式,最大的表包含大约40000行 CREATE TABLE [dbo].[TABLE_NAME_HERE] ( [title] nvarchar (255) NULL, [classification1] nvarchar (255) NULL, [classification2] nvarchar (255) NULL, [1986] float NULL, [1987] float NULL, [

我收到ACCESS数据库中提供给我的SQL数据库的每月数据更新,大约有30个表遵循此模式,最大的表包含大约40000行

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 server上,创建一个与ACCESS数据库匹配的表,然后上传数据


这可能吗?

是否可以选择更改表结构?例如,如果您有一个子表,其中一列名为Year,另一列名为Value,则无需每年不断添加新列。将数据存储在表行中而不是列名中是一种很好的做法


例如,也可以在MS Acceess VBA中使用ADOX循环访问表的字段集合,并由此在SQL Server中创建一个新表。代码类似于,但需要更改才能使用SQL Server连接等。

DTS中的一个选项是在导入时创建一个新表。但是正如前一篇文章所建议的那样,你应该检查问题原因,因为通常没有必要(强烈建议不要)更改表格。当有一个新列时,除非新列完全无用,否则无论如何都必须更改程序的代码。在这种情况下,只需在导入之前删除该列,您就可以恢复正常。如果列很有用,那么在不编写引用它的代码的情况下(在创建/导入表之后),如何使用它??

您能否提供更多关于此选项的细节,以便在导入时创建新表?我找不到该选项。使用列-有大量具有模拟结构的表,可通过动态生成的SQL语句访问(用户从菜单中选择感兴趣的年份)-顺便说一句-我没有写这篇文章,我只是在支持一个现有的应用程序,如果我写的话,我肯定不会以这种方式构建它。没有任何选项(时间/预算)来更改表结构,这是一个支持现有应用程序的情况,可以工作-我只是试图在上传时节省几个小时。