数据都是用的insert into +字段名+数据的方式,100万条左右。
问题:如何把这个数据导入到SQL中?
.sql中每隔100条数据就会有一个类似
commit;
prompt 100 records committed...
这样的语句,也就是说100条执行一次,
我现在的方式把这些都去掉,直接在查询分析器里执行语句,我的机器只能执行7000多条就超时或者内存不足了。
请问SQL有类似的语句么?我想把prompt 100 records committed...替换成SQL的语句,
或者有什么办法把这100万条insert into 的记录导入MSSQL2000中?
18 个解决方案
#1
注: commit;
prompt 100 records committed...
是oracle中的语句,
prompt 100 records committed...
是oracle中的语句,
#2
使用DTS导入应该可以的
#3
大宝着啊
1.你把 prompt 100 records committed
换成 WAITFOR delay '00:00:10' --也就是说执行100条后停10秒,再接着执行,试试看可以不:)
2.或者把 prompt 100 records committed
换成 waitfor time '21:17' -到21:17的时候才会执行
然后 执行100条
waitfor time '21:20' -到21:20的时候才会执行下100条
1.你把 prompt 100 records committed
换成 WAITFOR delay '00:00:10' --也就是说执行100条后停10秒,再接着执行,试试看可以不:)
2.或者把 prompt 100 records committed
换成 waitfor time '21:17' -到21:17的时候才会执行
然后 执行100条
waitfor time '21:20' -到21:20的时候才会执行下100条
#4
哈哈,在家还逛这里呀。
#5
呵呵 ,是啊 没事干啊 搞定了吗 ?
#6
我晕,你又在。!!!我用笨方法整进去了。
chjpeng(鹏&静水之潭,苦乐随缘)
可以说说DTS对于这种insert into 后面带数据的类型,具体如何操作么?比如说分几个步骤,哪步做什么,仅仅扔出来一个概念没什么实际用处。
chjpeng(鹏&静水之潭,苦乐随缘)
可以说说DTS对于这种insert into 后面带数据的类型,具体如何操作么?比如说分几个步骤,哪步做什么,仅仅扔出来一个概念没什么实际用处。
#7
呵呵 ,我觉得他的意思是 先导入到 oracle 里,然后再利用sql server的导入导出功能吧
#8
你把数据发我邮箱里吧 ,我看看
#9
163的么?
#10
最好的方法就用存储过程,在SQL server 中写个存储过程,插入数据,我用的笔记本可以达到1500条/s的写入速度。一分钟可以写将近9w条。
#11
to: wq_quake(Paladin 象风一样的游侠)
有具体一点的事例么?和我提的这个问题类似的?
有具体一点的事例么?和我提的这个问题类似的?
#12
到mysql官方网站下载mysql-migration-toolkit-1.0.25-win32.msi,用它可以直接把oracle的内容导入mysql。
#13
IceCraft(心淡情浓)
我要导入到MSSQL
我要导入到MSSQL
#14
不好意思看错了,呵呵
#15
还有其它方法么?
#16
用ue把他的语句部分全部去掉
只留下数据部分,然后用sql直接导入文本文件
只留下数据部分,然后用sql直接导入文本文件
#17
gohst001
如果这么做,因为inset into 的时候带了很多字符,需要替换掉才能用,对于这么大量的数据,只能做参考;
我了解到。oracle导出里面带内容的这种.sql文件,也是用的工具。
MSSQL是否也有类似的工具呢?
如果这么做,因为inset into 的时候带了很多字符,需要替换掉才能用,对于这么大量的数据,只能做参考;
我了解到。oracle导出里面带内容的这种.sql文件,也是用的工具。
MSSQL是否也有类似的工具呢?
#18
在存储过程中写语句,如果表名是动态的就用exec执行,如果不是就直接insert into同时设置好参数,用的时候直接调用存储过程,别忘了设置prepared=true就OK了速度相当的快。
#1
注: commit;
prompt 100 records committed...
是oracle中的语句,
prompt 100 records committed...
是oracle中的语句,
#2
使用DTS导入应该可以的
#3
大宝着啊
1.你把 prompt 100 records committed
换成 WAITFOR delay '00:00:10' --也就是说执行100条后停10秒,再接着执行,试试看可以不:)
2.或者把 prompt 100 records committed
换成 waitfor time '21:17' -到21:17的时候才会执行
然后 执行100条
waitfor time '21:20' -到21:20的时候才会执行下100条
1.你把 prompt 100 records committed
换成 WAITFOR delay '00:00:10' --也就是说执行100条后停10秒,再接着执行,试试看可以不:)
2.或者把 prompt 100 records committed
换成 waitfor time '21:17' -到21:17的时候才会执行
然后 执行100条
waitfor time '21:20' -到21:20的时候才会执行下100条
#4
哈哈,在家还逛这里呀。
#5
呵呵 ,是啊 没事干啊 搞定了吗 ?
#6
我晕,你又在。!!!我用笨方法整进去了。
chjpeng(鹏&静水之潭,苦乐随缘)
可以说说DTS对于这种insert into 后面带数据的类型,具体如何操作么?比如说分几个步骤,哪步做什么,仅仅扔出来一个概念没什么实际用处。
chjpeng(鹏&静水之潭,苦乐随缘)
可以说说DTS对于这种insert into 后面带数据的类型,具体如何操作么?比如说分几个步骤,哪步做什么,仅仅扔出来一个概念没什么实际用处。
#7
呵呵 ,我觉得他的意思是 先导入到 oracle 里,然后再利用sql server的导入导出功能吧
#8
你把数据发我邮箱里吧 ,我看看
#9
163的么?
#10
最好的方法就用存储过程,在SQL server 中写个存储过程,插入数据,我用的笔记本可以达到1500条/s的写入速度。一分钟可以写将近9w条。
#11
to: wq_quake(Paladin 象风一样的游侠)
有具体一点的事例么?和我提的这个问题类似的?
有具体一点的事例么?和我提的这个问题类似的?
#12
到mysql官方网站下载mysql-migration-toolkit-1.0.25-win32.msi,用它可以直接把oracle的内容导入mysql。
#13
IceCraft(心淡情浓)
我要导入到MSSQL
我要导入到MSSQL
#14
不好意思看错了,呵呵
#15
还有其它方法么?
#16
用ue把他的语句部分全部去掉
只留下数据部分,然后用sql直接导入文本文件
只留下数据部分,然后用sql直接导入文本文件
#17
gohst001
如果这么做,因为inset into 的时候带了很多字符,需要替换掉才能用,对于这么大量的数据,只能做参考;
我了解到。oracle导出里面带内容的这种.sql文件,也是用的工具。
MSSQL是否也有类似的工具呢?
如果这么做,因为inset into 的时候带了很多字符,需要替换掉才能用,对于这么大量的数据,只能做参考;
我了解到。oracle导出里面带内容的这种.sql文件,也是用的工具。
MSSQL是否也有类似的工具呢?
#18
在存储过程中写语句,如果表名是动态的就用exec执行,如果不是就直接insert into同时设置好参数,用的时候直接调用存储过程,别忘了设置prepared=true就OK了速度相当的快。