TbatchMove的一个问题,提示某字段不能为空!!急!急!急!(100分)

  • 主题发起人 主题发起人 xliangh
  • 开始时间 开始时间
X

xliangh

Unregistered / Unconfirmed
GUEST, unregistred user!
我在用TbatchMove 把SQL server 上的数据表备份到本地paradox数据表
时,也许SQL server 的表中有为空的字段,结果就没法执行,提示某
字段必须有 value!! 怎么解决这个问题? 另外还有什么方法可以将
SQL server 上的数据备份下来呢?
急!急!急!
 
>>另外还有什么方法可以将SQL server 上的数据备份下来呢?
1、为SQL Server数据库建Alias
2、为Paradox数据库建Alias
指定目录就可以了,不必建表
3、开始->程序->Borland Delphi X->Datapump
4、Select Source Alias
5、Select Target Alias
6、Select Tables to move
请等待,等待,Datapump正在分析数据库结构
7、查看转换后的表结构、字段类型
如果需要,可以修改
8、Upsize
硬盘狂响,请等待,等待,Datapump正在upsize数据
 
>>也许SQL server 的表中有为空的字段,结果就没法执行
方法1:
你应该知道是哪个表出错吧?
你还应该知道是哪个字段出错吧?
在SQL数据库中执行
update YourTable
set YourField=0 (如果是整数字段)

set YourField='' (如果是字符串字段)
where xxx is Null
给该字段为Null的记录赋值
方法2:
把你的BatchMove的目标表结构改一下,
允许该字段为空,不就得啦
有什么解决不了的呢?
 
蚯蚓真热心。
 
蚯蚓真热心
去问cakk
 
你用Delphi 5.0吗?
如果用,使用ADO 可以很方便的将数据卸出、装入!
达到你的要求,且支持大Char/Varchar字段
 
有些有键值的字段是肯定不能为空的。所以我一般的方法是若发现键值为空
的话就不导入或给一个缺省值。
 
用DELPHI中的DESKTOP中的UNITIES——》COPY一项,可将数据备份
 
将BATCHMOVE的MODE属性设置为batCOPY即可。
这样,BATCHMOVE构件就会自动创建一个与倒出表结构一样的表。
(若已经有相同名字的表了,系统就会自动DELETE这个表,然后再创建)
 
yck的想法很对,如果没有什么特别的要求,用BATcopy模式就可以解决你的问题。
 
时间太久,强制结束。 wjiachun
 

Similar threads

回复
0
查看
879
不得闲
回复
0
查看
884
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部