/*
 * MdbSoilDatabase.java
 *
 * Created on January 10, 2008, 4:44 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package usda.weru.soil;

import de.schlichtherle.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Joseph Levin
 */
public class MdbSoilDatabase extends JdbcSoilDatabase{
    private static final String ODBC_PREFIX = "JDBC:ODBC:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
    private static final String ODBC_SUFFIX = ";READONLY=true;DriverID=22";    
    /** Creates a new instance of MdbSoilDatabase */
    public MdbSoilDatabase(File file) {        
        this(file, file.getName());
    }
    
    public MdbSoilDatabase(File file, String name) {
        super(name);
        c_file = file;
    }

    @Override
    protected Connection createConnection() {
        try {
            try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(MdbSoilDatabase.class.getName()).log(Level.SEVERE, null, ex);
                return null;
            }
            String url = ODBC_PREFIX + c_file.getAbsolutePath() + ODBC_SUFFIX;
            // Attempt to connect to a driver.
            return DriverManager.getConnection(url);
            //Error creating connection to mdb
        } catch (SQLException ex) {
            Logger.getLogger(MdbSoilDatabase.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
 //   }
    }

    @Override
    public void dispose() {
        super.dispose();
    }


}
