注册 登录
编程论坛 SQL Server论坛

求助:关于跨数据库拷贝表

hyhhd 发布于 2007-12-09 18:20, 1439 次点击
我在网上找到
“/*************导出到Access********************/
insert into openrowset('Microsoft.Jet.OLEDB.4.0',
   'x:\A.mdb';'admin';'',A表) select * from 数据库名..B表

/*************导入Access********************/
insert into B表 selet * from openrowset('Microsoft.Jet.OLEDB.4.0',
   'x:\A.mdb';'admin';'',A表)”
然后,我就开始试验:
SQL = "insert into openrowset('Microsoft.Jet.OLEDB.4.0','e:\hyh.mdb';'admin';'',Y2Motorh) select * from  Y2系列交流异步电机"
Cnn.Execute SQL
但老提示“insert into”语法错误,请高手指点,这是为何?我都快疯了!!!

[[italic] 本帖最后由 hyhhd 于 2007-12-9 18:23 编辑 [/italic]]
4 回复
#2
hyhhd2007-12-09 18:25
其中“Y2系列交流异步电机”为源表,目标数据库“'e:\hyh.mdb'”,目标表“2Motorh”。请大侠指点!
#3
hyhhd2007-12-09 18:27
这是我在类模块中做的函数:
''''''''导出指定表到指定的数据库的表中''''''''''''

Public Function ExportTable(SourceDataBaseName As String, SourceTableName As String, DesignationDataBaseName As String, DesignationTableName As String) As Boolean
   
On Error GoTo ProcError
   
    ExportTable = False
   
    If Cnn.State = adStateClosed Then
        Cnn.CursorLocation = adUseClient
        Cnn.Mode = adModeReadWrite
        Cnn.ConnectionString = Me.LinkString
        Cnn.Open Cnn.ConnectionString, Me.UserName, Me.PassWord
        
    End If
   
'    SQL = "insert into openrowset('Microsoft.Jet.OLEDB.4.0','e:\hyh.mdb';'admin';'',Y2Motorh) select * from  Y2系列交流异步电机"
'    Cnn.Execute SQL
   
    SQL = "insert into openrowset('Microsoft.Jet.OLEDB.4.0','" & DesignationDataBaseName & "';'" & Me.UserName & "';'" & Me.PassWord & "'," & DesignationTableName & ")" & _
    "select * from " & SourceTableName
   
    MsgBox SQL
   
    Cnn.Execute SQL   
    ExportTable = True
   
ProcExit:
    Exit Function
   
ProcError:
    MsgBox "错误号:" & Err.Number & vbCrLf & "描  述:" & Err.Description, 48, "导出指定表到指定的数据库的表中"
    Resume ProcExit

End Function
#4
hyhhd2007-12-09 18:53
编写这个功能,是为了在vb中实现备份。可能备份整个表还有其他语句,但通过这个“insert into”也应该能实现。我是用的是access。
#5
zero_first2008-04-09 11:13
以前只做过查询,好像 是不能写入什么的
1