在项目当中,将一些mysql里面的数据通过程序转换到access数据库里面,但是转换出来以后access数据库非常的大,我直接用access 2007 里面的压缩并修复Access数据库,会将数据库修复减小很大一部分,想请问各位大大们,怎么通过java代码去操作这一功能以达到减小内存的目的,在线等呀!!!!!!!!!

解决方案 »

  1.   

    vba示例:
    Function CompactDatabse_2007_JRO(ByVal SourceAccdb As String, _
    ByVal TargetAccdb As String) As Boolean
    On Error Resume Next
    Dim JRO As JRO.JetEngine
    Set JRO = New JRO.JetEngine
    Dim strS As String
    Dim strT As String
    strS = "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=" & SourceAccdb
    strT = "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=" & TargetAccdb & ";Jet OLEDB:Engine Type=5"
    JRO.CompactDatabase strS, strTIf Err <> 0 Then
    CompactDatabse_2007_JRO = False
    Debug.Print Err.Number, Err.Description
    Err.Clear
    Else
    CompactDatabse_2007_JRO = True
    End If
    End Function
      

  2.   

    安装2007的驱动,执行
    JRO.CompactDatabase strS, strT
      

  3.   

    可以在java程序里面进行嵌入实现吗?
      

  4.   

    vba示例:
    vfp代码:
    lole=CREATEOBJECT('JRO.JetEngine')  
    strS = "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=" & SourceAccdb
     strT = "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=" & TargetAccdb & ";Jet OLEDB:Engine Type=5" 
    lole.CompactDatabase(strS,strT)  
      

  5.   

    你写这些我完全看不懂啊  ,vba语言不懂,想知道java有没有一个类似的类去操作