ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: hqw35765

[求助] 如何用VBA批量添加及更新SQL数据库中的数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-8-1 10:19 | 显示全部楼层

我也想达到同样的, 在数据库写入数据和读出数据,不过是Mysql数据库,请问能改一下代码吗

TA的精华主题

TA的得分主题

发表于 2022-8-1 13:11 | 显示全部楼层
天道酬勤y 发表于 2022-8-1 10:19
我也想达到同样的, 在数据库写入数据和读出数据,不过是Mysql数据库,请问能改一下代码吗

主要是链接字符不一样

  1. strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR=yes';Data Source =" & ThisWorkbook.FullName

  2. StrSQL = StrSQL & "Insert INTO [ODBC;Driver={MySql ODBC 5.3 Unicode Driver};
  3. StrSQL = StrSQL & "Server=myqcloud.com;Port=7139;DB=test;UID=用户名;PWD=123;OPTION=3;
  4. StrSQL = StrSQL & "].[数据表名]
  5. StrSQL = StrSQL & " Select 订单号,日期,订单人,'luoronghua' AS 编辑用户 FROM [首页$A:P]
复制代码

TA的精华主题

TA的得分主题

发表于 2022-8-1 13:24 | 显示全部楼层
本帖最后由 opiona 于 2022-8-1 15:03 编辑


strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR=yes';Data Source =" & ThisWorkbook.FullName


StrSQL = StrSQL & "Insert INTO [ODBC;Driver={MySql ODBC 5.3 Unicode Driver};
StrSQL = StrSQL & "Server=myqcloud.com;Port=7139;DB=test;UID=用户名;PWD=123;OPTION=3;
StrSQL = StrSQL & "].[数据表名]
StrSQL = StrSQL & " Select 订单号,日期,订单人,'luoronghua' AS 编辑用户 FROM [首页$A:P]

MySQL和SQL Server差别就是 链接字符的差别

如果数据量大的  Excel写入MySQL会慢
使用VS的MySqlBulkLoader  将Excel数据转成CSV上传 还是很快的

见438楼的插件: https://club.excelhome.net/thread-859194-1-1.html

TA的精华主题

TA的得分主题

发表于 2022-8-1 14:28 | 显示全部楼层
opiona 发表于 2022-8-1 13:24
如果数据量大的  Excel写入MySQL会慢
使用VS的MySqlBulkLoader  将Excel数据转成CSV上传 还是很快的

我就在局域网用,数据量也没有达到几百万的量,应该不会好慢

TA的精华主题

TA的得分主题

发表于 2023-4-24 13:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

请问如果是连接本地SQL数据库,代码应该怎么写?

TA的精华主题

TA的得分主题

发表于 2023-4-24 21:04 | 显示全部楼层
dgdingzhen 发表于 2023-4-24 13:47
请问如果是连接本地SQL数据库,代码应该怎么写?

Rem 连接SQL_Server数据库:
Rem Str_coon ="Provider=SQLOLEDB;Data Source=FANGWEI;Integrated Security=SSPI;Initial Catalog=XieXin;Persist Security Info=false"
'//SQLServer  本地链接,windows验证,不用密码和用户名

Rem Str_coon ="Provider=SQLOLEDB;User ID=sa;Password =1001;Data Source=FANGWEI\SQL2005数据"          '//SQLServer2005 本地链接
Rem Str_coon ="Provider=SQLOLEDB.1;Data Source=FANGWEI\SQLEXPRESS;Initial Catalog=CPECC_Temp;Uid=SA;PWD=1234;Persist Security Info=false"       '//SQLServer 2008本地链接
Rem Data Source=FANGWEI\SQLEXPRESS  '//计算机登陆名/服务器名称,链接本地服务器,就是本机的
Rem Initial Catalog=CPECC_Temp      '//数据库名称
Rem Uid=SA 用户名
Rem PWD=1234 '/密码

Rem Str_coon = "Provider=SQLOLEDB;Server=192.168.1.103;Database=XieXin;Uid=sa;Pwd=1005;"       '//SQLServer2005局域网, 广域网链接   192.168.1.05   没有:\\
Rem Server=192.168.1.103;  '//服务器所载电脑IP,链接局域网服务器这样写。
Rem Database=XieXin;  '//数据库名
Rem Uid=SA 用户名
Rem PWD=1005 '/密码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 07:28 , Processed in 0.033638 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表