为啥sql数据库的表用VBA导到EXCEL中的速度比EXCEL的数据导入功能慢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥sql数据库的表用VBA导到EXCEL中的速度比EXCEL的数据导入功能慢相关的知识,希望对你有一定的参考价值。

我的代码很简单,就是打开数据库执行某表的复制。一级小白的方法可行,但是不能用到其它人的不同名字的数据库的同一个表格复制,而我现在可以,就是很慢。而且小白一级说的我也不知道怎样编写代码。

在使用excel的时候,能用公式和透视表做的优先使用他们,

在他们解决不了的时候,再用 VBA,另外也需要检查你的 VBA,看看执行效率是否过低。
参考技术A 可以使用VBA来操作excel内置的功能啊。
如用VBA控制excel自带的数据导入功能来导数据,即保留了vba的自由型和自动化, 也保留了excel内置功能的速度。本回答被提问者采纳
参考技术B VBA要通过EXCEL来操作,百EXCEL是自己直接操作,你想下哪咱效率高呢? 参考技术C 查询数据库后,VBA中用CopyFromRecordset(RecordSet)方法将记录集复制到Sheet中即可。

MySQL中如何把一个数据库中的表数据,导到另一个数据库的表中

现在要把本地服务器上数据库的一个表的数据(比较大,比较多3000条)导到外网服务器上的数据库里面!!!!,,除了用导SQL的方法以外,,,,,,有没有其它的方法将其导到外网的数据库里面,,要用程序来实现,,本来是将本地的导出成XLS再转成CSV格式,再将其读取更新到数据库,但是太大,7M了,,,导出来了一打开就会G掉,有没有其它办法,,,在此请教高手,,谢谢了,解决了加分谢谢
里面有个字段存的是文章比较大, 用SQL导第一 较大的数据会出错,,,第二,导进去数据顺序全部改变了!!!,
我一开始导成Excel,,可是导入的时候,,由于数据太大,那个大字段的导不进去!!郁闷!!
还有其它方法吗????
peiqianmiao 你说的是导出成什么格式的啊!!,还有外网服务器不可能停的,,要停也只能在晚上十二点之后,
cheng830306 你说得轻松写到XML里,,,文章字段里面都带有HTML样式的文章 ,这几乎是不可能的,,数据太大了
我用的MYSQL是Navicat for MySQL界面 支持的格式,在下面图片里

把双方的mysql服务都停掉,直接把导出方的数据表文件(就是和数据库表名对应的.frm.myd.myi文件)拷到导入方(注意一个表有三个文件),然后改一下数据表文件名成你要导入的表名,然后启动mysql服务 ,如果导入方原来的表有数据,可以把原来的数据用正常方式导出,然后在工具里面导入合并就可以了,

再有一个可行的方法就是自写代码一行一行的转移数据了
参考技术A 用bcp导出,再导入
导出:

bcp POSSER_JZ..BFBACKDATAJL out D:\BCP\BFBACKDATAJL.txt -c -UBFPUB -PBJCYASGW -SJZ -Jcp850

导入:
bcp AS52..BFBACKDATAJL in D:\BCP\BFBACKDATAJL.txt -c -Usa -P123456 -SKFQ -Jcp850

语法说明:
bcp 导出数据库名..表名 out 文件存放路径 -c -U导出数据库操作用户名 -P操作用户密码 -S服务器名 -J字符集

bcp 导入数据库名..表名 in 文件存放路径 -c -U导入数据库操作用户名 -P操作用户密码 -S导入服务器名 -J字符集
参考技术B 关注这个问题,我第一反应也是用MySQL的方式导出来,没有想到大数据的时候会出问题。

只能关注,等待楼下的答案,祝楼主好运
参考技术C 自己写代码 读一个数据库的数据的一条,向另外一个插入就行了。 参考技术D 用XML吧~~~自己写个PHP读MYSQL输出为XML,
MYSQLFRONT软件有自带的方法实现

以上是关于为啥sql数据库的表用VBA导到EXCEL中的速度比EXCEL的数据导入功能慢的主要内容,如果未能解决你的问题,请参考以下文章

excel版本越高VBA运行速度越慢,为啥?

VBA宏运行速度为啥比Excel自带函数慢

excel版本越高VBA运行速度越慢,为啥?

MySQL中如何把一个数据库中的表数据,导到另一个数据库的表中

excel vba链接sql怎样使运行速度变快

如何把PowerDesigner 8的表设计导到EXCEL中