编程论坛's Archiver

hyhhd 发表于 2007-12-9 18:20

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

我在网上找到
“/*************导出到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]]

hyhhd 发表于 2007-12-9 18:25

其中“Y2系列交流异步电机”为源表,目标数据库“'e:\hyh.mdb'”,目标表“2Motorh”。请大侠指点!

hyhhd 发表于 2007-12-9 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

hyhhd 发表于 2007-12-9 18:53

编写这个功能,是为了在vb中实现备份。可能备份整个表还有其他语句,但通过这个“insert into”也应该能实现。我是用的是access。

zero_first 发表于 2008-4-9 11:13

以前只做过查询,好像 是不能写入什么的

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.