Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Erreur d'importation de la feuille de fichier Excel de C # dans la base de données SQL

Il semble que vous ayez plusieurs problèmes avec vos chaînes de connexion. D'une part, les chaînes de connexion Excel ne doivent pas inclure de "catalogue initial", et elles doivent inclure une source de données faisant référence au fichier, pas à un serveur.

Essayez ceci à la place :

        // There is no column name In a Excel spreadsheet.  
        // So we specify "HDR=YES" in the connection string to use  
        // the values in the first row as column names.  
        if (strExtension == ".xls")
        {
            // Excel 97-2003 
            strExcelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(strUploadFileName) + ";Extended Properties=\"Excel 8.0;HDR=Yes;\"";

            //if the above doesn't work, you may need to prefix OLEDB; to the string, e.g.
            //strExcelConn = "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(strUploadFileName) + ";Extended Properties=\"Excel 8.0;HDR=Yes;\"";
        }
        else
        {
            // Excel 2007 
            strExcelConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath(strUploadFileName) + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES\"";
        }

Pour info, http://connectionstrings.com est une bonne ressource pour ce genre de choses.