
正文
vba可以访问sqlserver吗,vba访问sql数据库
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
...一个问题?access数据条数在50万行不卡,sqlserver数据条数在1000万...
不可以的,vba处理效率很低的,你这个想法完全不切合实际。
access是一种入门级的本地化的数据库。SQLServer是数据库服务器。SQLServer无论从功能上还是效率上,和access都不是一个级别的。它是企业级的应用,速度比Access快多了。
记录条数多肯定会影响数据库速度,但衡量数据的主要指标是数据库的大小,一般以1G为界限,超过1G速度就会很慢,基本上一百万条记录基本上就达到1G,所以,数据库记录数在1百万条是应该进行数据库备份。
相关问答
Q1: 用VBA语言调用sql数据库数据到excel中
Sheets(结果).Range(a2).CopyFromRecordset rs 将数据集粘贴到Excel中,左上角为A2,无列名。cnn.Close 关闭数据库连接 Set cnn = Nothing 将CNN从内存中删除。
赋值我一般会用Cells(i, 9) = rs(SalesNum)或者每个单元格的赋值不用,直接用Range(G3).CopyFromRecordset rs 这样你的代码从Range(G3).Select到Wend这一部分都可以不要了。
Source=[数据库IP地址或数据库服务器名称];Connect Timeout=720;查询语句,如果sql语句很长可以用strSQL=strSQL+来连接分成多段的语句,如果语句很短可以只写在一行上。
有个示例,可以模仿。选择菜单中【工具】→【引用】命令项,即可弹出对话框,在下拉列表框中查找并勾选项目“Microsoft ActiveX Data Objects 1 Library”,即可完成对ADO的引用。
Q2: VBA连接SQLServer的问题
删除set cn = new ADODB.Connection和set cnn = New ADODB.Recordset。已经引用了,没必要再次为对象赋值。
server里建一个链接,连接到30.29试一下,如果不可以,说明你的得到的IP地址有问题,如果可以,那可能是你的防火墙的问题。--- 是不是30.29提供给你的用户及密码不正确,(local)连的是本机的。
服务器未运行:确保SQLServer服务正在运行,尝试重新启动SQLServer服务。网络问题:确保客户端和服务器之间的网络连接正常,检查防火墙设置,确保SQLServer的端口(默认为1433)是打开的。
然后Sql Server检查用户清单,检查其是否具有访问数据库的权限。而且数据库连接字符串是不区分大小写的。
关于vba可以访问sqlserver吗和vba访问sql数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







