从服务器数据库查询数据后导入本机数据库里
vb吧
全部回复
仅看楼主
level 1
撕蚊人. 楼主
向各位大神请教,想从服务器数据库查询数据后导入本机数据库里,我一条一条导入的,太慢了,300条记录得用30秒,有什么办法快速导入吗?
2025年03月04日 09点03分 1
level 3
要看你怎么写的了,另外数据库优化不合理也会影响速度,如果只是同步,可以考虑工具
2025年03月04日 11点03分 2
@撕蚊人. 如果每次都是insert的话,看数据库有约束,触发器之类的么,有的话删除掉
2025年03月09日 06点03分
谢谢,数据库字段不多,按日期查询记录导入,不知道怎么优化
2025年03月05日 22点03分
level 1
撕蚊人. 楼主
Option Explicit
Private Sub Command1_Click()
Dim connSQL As ADODB.Connection
Dim connAccess As ADODB.Connection
Dim strSQL As String
Dim strSQLConn As String
Dim strAccessConn As String
'SQL Server 2000 连接字符串
strSQLConn = "Provider=SQLOLEDB;Data Source=你的SQL服务器地址;Initial Catalog=你的SQL数据库名;User ID=你的用户名;Password=你的密码"
'Access 数据库连接字符串
strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=你的Access数据库路径;Jet OLEDB:Database Password=;"
'创建SQL Server连接对象
Set connSQL = New ADODB.Connection
connSQL.Open strSQLConn
'创建Access连接对象
Set connAccess = New ADODB.Connection
connAccess.Open strAccessConn
'假设要将SQL Server中的表Table1数据导入到Access中的表Table2
'构建INSERT INTO...SELECT语句实现批量导入
strSQL = "INSERT INTO [;Database=" & strAccessConn & "].Table2 (列1, 列2, 列3,...) " & _
"SELECT 列1, 列2, 列3,... FROM Table1"
'这里的列1, 列2等要根据实际表结构对应修改
'执行SQL语句进行批量导入
connSQL.Execute strSQL
'关闭连接
connSQL.Close
connAccess.Close
Set connSQL = Nothing
Set connAccess = Nothing
MsgBox "数据导入成功!"
End Sub
2025年03月06日 00点03分 3
level 1
撕蚊人. 楼主
这是我在豆包搜索的,
strSQL = "INSERT INTO [;Database=" & strAccessConn & "].Table2 (列1, 列2, 列3,...) " & _
"SELECT 列1, 列2, 列3,... FROM Table1"
这一句过不去,大师们帮我看看吧
2025年03月06日 00点03分 4
level 6
两个不同的数据库?
2025年03月07日 00点03分 5
对,两个不同的数据库,豆包搜索的,竟然还有这种方法,就是不好使
2025年03月08日 12点03分
@撕蚊人. 两个数据库直接复制数据,我一般直接用数据库那个工具里面导入导出更快
2025年03月09日 00点03分
level 5
速度主要是耗费在网络访问上了,如果你的本地数据库是access的话,就把程序放在服务器上运行,导入完成后再复制到本地
2025年03月13日 09点03分 6
吧务
level 12
我教你如何问 AI:我现在有一个服务器,地址是 xxx,我需要把其中某个表 xxx 的数据导出到本地是 access 数据库,字段保持一致。请使用 Visual Basic 6.0 的语法,帮我编写一个函数,完成数据迁移。
2025年03月15日 15点03分 10
1