access数据库导入mssqlserver保留自动增长列
access数据库在导入mssqlserver的时候,如果没有增加一些特别的设置,access中的自动增长列不会在导入mssqlserver的时候保留下来。要保留access自动增长列,有2种办法。
1)使用access的数据库升迁向导。【推荐此方法,适用于mssqlserver2000和mssqlserver2005,2008没安装具体不清楚是否可用】
2)建立好数据库,导入表【不推荐,极其繁琐】
示例access数据库Test结构如下图
1)使用access的数据库升迁向导 操作过程如下列图片所示
操作完毕后,打开mssqlserver企业管理器,看到已经导入一个TestSQL的数据库,并且导入的Test表的ID字段已经为标识列。
sqlserver20000
sqlserver2005
2)建立好数据库,导入表【不推荐,极其繁琐】
按照步骤操作,选择源数据为Microsoft Access,同时选择access文件。点击下一步直到“选择源表和视图”步骤。
选择一个表,然后点击“转换”,在“列映射和转换”窗口中选择原来是自动增长的列,然后点击“编辑SQL(S)...”,可以看到如下sql语句
CREATE TABLE [test].[dbo].[test] ( [id] int NOT NULL, [myname] nvarchar (50) NULL )
如果不进行设置,这样导入到mssqlserver数据库中的表的id字段不会是自动增长的,需要修改成下面的
CREATE TABLE [test].[dbo].[test] ( [id] int identity(1,1)NOT NULL, ------在NOT NULL前面增加identity(1,1) [myname] nvarchar (50) NULL )
,这样设置后,导入到mssqlserver时,access中表的列为自动增长的,才会在mssqlserver中对应标识列。
同理对其他表进行如上操作,最后点下一步直到“完成”,点击导入access数据库中的表。这样才会使原来access中原来为自动增长的列,对应到mssqlserver中的标识列。
加支付宝好友偷能量挖...
原创文章,转载请注明出处:access数据库导入mssqlserver保留自动增长列