以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]从Access迁移到SQL2005 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=27973) |
-- 作者:jspta -- 发布时间:2013/1/15 15:50:00 -- [求助]从Access迁移到SQL2005 从Access2003 迁移到SQL2005后,发现无法新增行,报错 列“_Locked”不允许空值。 后台打开后发现,是_Locked列允许为空没有勾选导致, 查看其它表,发现所有的逻辑列,都需要进行手动修改该参数,还好也就几十张表,手动下也就解决了 不知道大家怎么解决这个问题?如何进行迁移的?
[此贴子已经被作者于2013-1-15 15:53:59编辑过]
|
-- 作者:lin_hailun -- 发布时间:2013/1/15 16:33:00 -- 我特意测试了一次,重定向成功了,没有出错。 我的操作步骤是:新建一个access数据库,然后,作为数据源,然后新增一张外部表,然后重定向到Sql数据库。一切正常。 |
-- 作者:jspta -- 发布时间:2013/1/16 9:44:00 -- 以下是引用lin_hailun在2013-1-15 16:33:00的发言:
我特意测试了一次,重定向成功了,没有出错。 我的操作步骤是:新建一个access数据库,然后,作为数据源,然后新增一张外部表,然后重定向到Sql数据库。一切正常。 这样操作是没有问题的,我直接使用ACCESS自带的迁移到SQL会出现这个问题。
你这操作少量表可以,如果有几百张,大量的逻辑列,就不行了。还有这样做必须先将表加载到foxtable中,再重定向才行。 |
-- 作者:lin_hailun -- 发布时间:2013/1/16 10:10:00 -- 对于空值问题,你可以使用狐表编写sql语句,比如。 for each dtname as string in co nnectio ns("xxx").getTableNames \'得到所有的表名称 cmd.commandText = "select top 1 * from " & dtname \'获得数据表 dim dt as datatable = cmd.executeReader for each c as datacol in dt.datacols if c.IsBoolean then cmd.commandText = "alter table " & dtname & " alter column " & c.Name & " bit null" \'修改表结构 cmd.executenonquery end if next next [此贴子已经被作者于2013-1-16 10:11:30编辑过]
|