0

これは私の最初の投稿です。jackcess libを使用して、LinuxマシンからWindowsマシンの共有フォルダーにあるリモート.mdbファイルを開こうとしています。ビジネス オブジェクトにテーブルの値を設定します。以下のコードを書きました。

シナリオ 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();   
    }   
}   

}
4

1 に答える 1

0

ここで使用するように、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

詳細については、smbmount のマンページを参照してください。

もちろん、プログラムが自動的に起動することになっている場合などです。システムの起動の一環として、ファイルシステムも自動的にマウントされることを確認する必要があります。を参照してくださいfstab(5)

于 2013-11-10T06:57:10.887 に答える