accéder excel comme base de données avec jdbc

Je dois concevoir une application pour accéder à l'application excel comme base de données. Mon problème est que je dois créer une connexion multiple pour chaque transaction, et si je manque de tout de le fermer, excel n'est pas en cours de mise à jour.

Je veux motif de conception où je suis en mesure d'accéder à l'excel. Tout m'aider dans la conception d'un modèle commun à travers lequel je ne vais pas avoir de problème. Je veux quelque chose comme cette, mais nous ne sommes pas en mesure de l'utiliser pour accéder à excel.

Merci d'avance!

j'ai cette méthode dans la classe utilitaire

static ResultSet  getExcelData(String filePath,String sqlQuery){
    ResultSet rs=null;


    try{
        conn    = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ="+filePath+";READONLY=false");
        stmt=    conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
        rs=stmt.executeQuery( sqlQuery ); 
    }catch (Exception e) {
        e.printStackTrace();
        return null;
        //TODO: handle exception
    }finally{


    }
    return rs;

}

et je l'appelle de cette façon

ResultSet rs=JdbcUtil.getExcelData("D:\\AB_demo\\AB_demo\\test.xls", "Select max(int(ID)) from [MAIN$] where HEADER_IND is not Null AND int(ID)<"+excelId);
        int databaseId = 0;
        if(rs.next())
        {
            databaseId=rs.getInt(1);    
        }


        ResultSet rs1=JdbcUtil.getExcelData("D:\\AB_demo\\AB_demo\\test.xls", "SELECT * from [MAIN$]  where   id= '"+databaseId+"'or id='"+excelId+"'");

je suis à l'appel de cette méthode deux fois après lequel im mise à jour du fichier excel à l'aide

stmt.executeUpdate(sql);

son retour l'entier 1, mais sa ne reflétant pas dans excel.lorsque j'utilise process explorer le fichier est encore en usage.j'ai besoin d'un modèle de conception ou de venir de code à surmonter son genre de problème.

  • Pourquoi ne pas utiliser access comme base de données sous excel n'est pas spécifiquement destiné à être utilisé comme une base de données
  • je suis fondamentalement de l'utiliser avec testng où je dois lire à la classe et les données de dictionnaire et de le lancer à travers testng code java.et mettre à jour les données si le test a réussi ou échoué sur la base du résultat.j'ai code.google.com/p/excel-testng mais mon exigence est d'accéder excel comme base de données.
  • mon exigence est à l'aide de fichiers excel
  • Tout d'abord, vous devez mettre à jour votre post avec ce que vous avez essayé cependant, comme un autre post a spécifié, excel est la deuxième pire option pour une base de données. csv brut est le premier.
  • pour accéder au fichier d'essayer. Panneau de configuration, outils d'administration, DSN Système et la configuration du fichier d'accès là. Une fois l'installation de java au lieu d'utiliser le chemin d'accès à la base de données suffit d'utiliser nom DSN que vous avez configuré dans votre source de données.
  • suis en mesure d'accéder aux données, mais mon souci c'est que j'ai communes méthode qui renvoie la resultset,je suis l'obtention de données de ce et de transmettre les données à nouveau à la comman de la méthode.après ce processus, je ne suis pas en mesure de mettre à jour le fichier est en cours d'utilisation
  • il sera comme je le pari de l'instruction de lecture est encore en usage. Vous devrez peut-être enregistrer les données. fermer la déclaration et ouvrir une nouvelle instruction. Une autre méthode est de vérifier les permissions sur les fichiers ne sont pas en lecture seule et la DSN dans les avancées ne sont pas en lecture seule. Toutefois, afin de donner plus de vous aider à vraiment besoin d'être beaucoup plus précis avec les erreurs et le code que vous utilisez. Veuillez mettre à jour votre post
  • cliquez sur modifier sur votre post et de le mettre en il

InformationsquelleAutor saifjunaid | 2014-01-31