簡體   English   中英

如何使用Java和Jackcess從Linux機器訪問共享文件夾中的遠程.mdb文件

[英]How to access the remote .mdb file in shared folder using java and jackcess from linux machine

這是我的第一篇文章。 我正在嘗試使用jackcess lib從Linux機器中打開Windows機器中共享文件夾中的遠程.mdb文件。 並在busineess對象中設置表值。 我寫了下面的代碼。

方案1:我已經從Windows機器上運行了代碼,一切正常。 方案2:如果我從linux機器上運行代碼,則文件未找到異常。 希望這應該是個小錯誤。 請糾正我這里缺少的內容。

package com.gg.main;   

import java.io.File;   
import java.io.IOException;   
import java.util.ArrayList;   
import java.util.Map;   
import com.healthmarketscience.jackcess.Database;   
import com.healthmarketscience.jackcess.Table;   
import com.penske.model.Login;   


public class Test {   

public static void main(String args[]){       
    Table table = null;   
    Database db = null;   
    Login login = null;   
    ArrayList<Login> rowList = null;   
    try {   
    rowList = new ArrayList();   
    db = Database.open(new File("//aa.bb.com/file/access.mdb"));   

    table = db.getTable("Maintenance");   
    System.out.println(Database.open(new File("//aa.bb.com/file/access.mdb"))   
               .getTable("Maintenance").getColumns());   
    for(Map<String, Object> row : table) {   
        login = new Login();   
        if(row.get("Req_ID")!=null){   
        login.setId(row.get("Req_ID").toString());   
        }   
        if(row.get("Name")!=null){   
        login.setName(row.get("Name").toString());   
        }if(row.get("Loc")!=null){   
        login.setLoc(row.get("Loc").toString());   
        }   
        rowList.add(login);                
    }   

    login.setRowList(rowList);   
    } catch (IOException e1) {   
    e1.printStackTrace();   
    }   
}   

}

Linux不支持Windows的UNC路徑,因為您在此處使用它們:

new File("//aa.bb.com/file/access.mdb")

您必須在程序可以訪問它的Linux文件系統中的某個位置掛載遠程文件系統,然后使用smbfs或類似的東西替換程序中的路徑以使用該本地文件系統路徑。 自從我不得不與Windows機器進行交互以來已經有很長時間了,但是它應該是這樣的:

mount -t smbfs -o username=foo,password=bar //aa.bb.com/file /mnt/whatever_you_choose_to_name_it

有關詳細信息,請參見手冊

當然,如果您的程序應該自動啟動,例如。 作為系統引導的一部分,您必須確保文件系統也自動掛載。 參見fstab(5)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM