导入数据将 NULL 替换为 0

IT *_*her 5 sql-server ssms sql-server-2008-r2 import

我正在使用 sql server 2008 r2 express。当我使用导入数据功能将数据从一个数据库导入到另一个数据库时,我遇到了一些问题。我正在使用 SSMS 来做到这一点。在使用向导时,我选择“选择身份插入”选项来复制身份元素属性。通过使用此标识元素可以正确导入。但是导入后我比较了源数据库和目标数据库,发现了一些变化!!表中的所有 NULL 值都被 0 替换。那么我该如何避免它。在使用导入数据向导时,是否有任何选项可以将其复制为它?请帮忙

Jos*_*ira 5

选择保存包而不是立即运行它。
然后编辑 dtsx 文件并在您的复制任务中检查“保持空值”。
然后运行dtsx。
我没有测试它,但认为它会解决你的情况。 在此处输入图片说明


使用高级服务测试有关 express 评论的建议……效果很好:) 您创建目标表,在列上设置空默认值,并在使用 dtsx 导入数据后删除默认值或将其设置为您想要的任何值. 当您无法检查“保持空值”时,dtsx 导入将用列的默认值替换空值。

create table dbo.test (
 a int null
 , other columns ...
 )

alter table dbo.test add constraint x default null for a

--Run Import task here

alter table dbo.test drop constraint x
Run Code Online (Sandbox Code Playgroud)