c#简单小问题 ( 积分: 50 )

  • 主题发起人 主题发起人 genglimin
  • 开始时间 开始时间
G

genglimin

Unregistered / Unconfirmed
GUEST, unregistred user!
c#中,怎样通过sql语句 或者dataset,datatable等 ,将oracle表中的数据,导入到sqlserver表中,这两个表结构相同,如果sqlserver中不存在这个表,那么就新建一个.有些急 在线等 好用即给分
 
c#中,怎样通过sql语句 或者dataset,datatable等 ,将oracle表中的数据,导入到sqlserver表中,这两个表结构相同,如果sqlserver中不存在这个表,那么就新建一个.有些急 在线等 好用即给分
 
没人回答? 可惜c#没有大富翁这么好的论坛
 
你可以在SQLSERVER直接导入,当然你先要建好连接ORACLE的ODBC,然后导入时正确选择就可以。
不管在C#或是DELPHI中导数据都是一样的。只不过语法不一样,组件用法不一样罢了。
 
我是在程序中导入,不用odbc可以吗
 
先通过sp_tables系统存储过程,判断这个表是不是存在。
如果不存在,用create table语句创建。
然后
Select * from

对每一条记录:
Insert
(...) values(...)
如果觉得速度慢,可以使用SQLXml等Sql server的Batch Insert模式。
 
这个我也想到了 但要判断oracle原表的字段类型以及长度,然后在sqlserver中建立相应的字段,比较麻烦,现在是已经将oracle的表读到了dataset中,就是说该表已经完整的存在内存中,能不能有什么方法,将dataset中的表另存为sqlserver表呢
 
也不是很麻烦,我自己就做了个类库,完成这种数据迁移。
结构相同的表,结构不相同的表(比如一列拆成多列,多列合并为一列,多列变多列等等)迁移到不同的数据源中(不同的数据库,文件等任何数据源和数据目标),支持表结构的自动创建,支持表数据类型的翻译(access, excel, oracle, sql server, dataset等任意两者之间)等等,能够充分利用数据源和数据目标的特点进行批量优化,记录级别操作,可以处理任意数量的记录。
当然,你的实际需求没有必要这么复杂,从oracle -> sql server的字段翻译其实很简单。我要说得是只要你静下心来做,这个问题解决起来不难,而且以后也会经常碰到类似问题,花点时间解决掉是很赚的一件事情。
 
thanks ,ado2.0好像已经有可以另存为别的数据表的方法了,但现在好像只能这么做了
 
自己写个应用程序来倒数据,先读取,在插入...
 

Similar threads

回复
0
查看
863
不得闲
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
930
DelphiTeacher的专栏
D
后退
顶部