怎样用delphi实现数据库的转换??? 我原来想可能要借助ODBC,可我不知道怎样实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实,Delphi自带的Data Pump就是一个最好的实例。 建议使用PowerDesign的。不过得注意一下。1.ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号! 2.转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。 3.对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:"delete * from user where id=10",而对SQL SERVER数据库进行删除是用:"delete user where id=10". 4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对 SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。 5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。 _______________________________________________________________多多交流 共同进步[email protected]http://nizvoo.myrice.com_______________________________________________________________ 看看这个能达到你的要求,不过我现在只是试出Access, Excel, Txt(只写了Access), 按理它可以支持所有你机子已有的驱动的数据库,不过没试出来。http://www.csdn.net/expert/TopicView.asp?id=288983 楼上几位给出了意见和代码,同意我想只要知道各种数据库之间在字段类型上的差异之后,自己编码实现是没有问题的。问题的实质也不过是数据在不同的数据表之间的转移,但是要注意一些类型的匹配而已。对于类型相近的数据库,使用batchmove控件就可以直接搞定(配合两个database控件,分别对象两个数据库)。如果类型不相类型,可以使用代码先把原表的数据做转换,然后用append加post写到目标表中。datapump也可以实现这种功能,不过控制上稍有问题,我建议不要用 可以使用XML转换。采用XHTML的语法。 求delphi师父一位!!! SQL的类型转换问题 用HTTP方式在线升级 哪位大哥能帖一个用TcpServer和TcpClient的传送文件的列子吗,谢谢。 请教大家一个delphi中的小问题? 请大侠急救,两个问题 FastReport怎么实现大表套小表(一对多的关系),分栏 求助~~~~ 关于decision cube 控件的一个问题! 如何知道Delphi中ADO控件是否升级了补丁? 怎样在DBGrid控件里实现排序,谢谢。 小妹?^_^?捉虫:excel表格的问题?
不过得注意一下。
1.ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!
2.转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。
3.对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:"delete * from user where id=10",而对SQL SERVER数据库进行删除是用:"delete user where id=10".
4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对
SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。
5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。
_______________________________________________________________多多交流 共同进步
[email protected]
http://nizvoo.myrice.com
_______________________________________________________________
http://www.csdn.net/expert/TopicView.asp?id=288983
我想只要知道各种数据库之间在字段类型上的差异之后,自己编码实现是没有问题的。问题的实质也不过是数据在不同的数据表之间的转移,但是要注意一些类型的匹配而已。对于类型相近的数据库,使用batchmove控件就可以直接搞定(配合两个database控件,分别对象两个数据库)。如果类型不相类型,可以使用代码先把原表的数据做转换,然后用append加post写到目标表中。
datapump也可以实现这种功能,不过控制上稍有问题,我建议不要用
采用XHTML的语法。