Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

C # importar planilha do Excel para erro de banco de dados sql


Parece que você realmente tem várias coisas erradas com suas strings de conexão. Por um lado, as cadeias de conexão do Excel não devem incluir um "Catálogo inicial" e devem incluir uma fonte de dados referente ao arquivo, não a um servidor.

Tente isso em vez disso:
        // 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\"";
        }

Para saber, http://connectionstrings.com é um bom recurso para este tipo de coisas.