拷贝数据时,能否避开计算列? ( 积分: 50 )

  • 主题发起人 主题发起人 lovewjm
  • 开始时间 开始时间
L

lovewjm

Unregistered / Unconfirmed
GUEST, unregistred user!
现在公司要求,定时的数据拷出来到另外一个服务器,我在另外一个服务器上建立了一个与源服务器一样的数据库,想按日期定时的把数据拷到目的服务器上,因为数据库结构都相同,用insert语句将记录拷入,但问题是有些表有计算列(就是有公式计算的列),用insert语句插入时,提示失败,因为计算列不允许用insert插入,想问一下,有没有好的办法避开计算列插入,如果插入的时候指明一个一个字段的话,那样太烦琐了.还有没有其它更好的导入数据方法?
急,请高手指教!
 
用DTS导入数据是可以,并且也不会因为有计算列不成功的事,能不能查看到dts包的代码?哪位高手知道?请指教!
 
if DataSet1.FieldByName('FldName').FieldKind = fkData then
begin
//插入该列数据
end;
 
谢了,我是要在sql里面写的,不是在程序用数据集来写,还有没有其它高手来指点一二啊
 
问题还没有解决,有哪位高手指点一下
 
近段时间都在忙这个问题,研究sql拷贝或导出数据到其它地方,论坛上提供的一些方法都试过一些,总还是不能得心应手.如按条件导出数据,比如日期超过了一年的导出到另外一个服务器上,在写程序过程,总是遇到一些问题,怪自已学艺不精啊;
1,用insert into写 比较好懂也容易使用,但也有一些限制,就是要求目的表和源表比须都得相同,并且表中不能用计算列,不巧的是我的大部分数据表中如出货表,入库表就有计算列,还有触发器等,这样用insert * select 时就写不进去了,为了避开计算列,非得要把字段名都一一列出来,插入,这么多表不知道有多少,我晕!!
2,我觉得用dts数据转换很好,想在程序里面写,但又不知道怎么用dts编程.
3,有的说用bcp更加不知道怎样写.
4,有的说用数据库分发,订阅,看了一下,设置起来,感觉很麻烦.
5,用数据库备分和还原倒是省事,但不能按照自己的条件去备分,
各位高手有什么好的建议和方法,请点拨一下,多谢!!!!
 
提供一个建议
就用把字段列出来的方法去插入
但是字段并不需要你一个一个去写 你可以做个存储过程去获取某个表的字段,并增加一个参数是需要舍弃掉的字段(也就是你的计算字段),通过这个存储过程拿到表的字段名
 
,谢谢你的回复,这个存储过程怎么实现,能不能详细说明一下?
 
后退
顶部