none
O formato da seqüência de inicialização não está de acordo com a especificação iniciada no índice RRS feed

  • Pergunta

  • Ola Pessoal..

    Estou desenvolvendo uma aplicação, onde quero colocar uma função de backup para os produtos do Banco de Dados em Windows Form C#
    No Form de Backup, é possível salvar a planilha modelo do Excel no lugar desejado, e este local é exibido em um campo de texto, para posteriormente ser capturado para a conexão e inserção dos dados. Porem, no momento da conexão a seguinte mensagem é gerada pela função que vou postar abaixo:

    "O formato da seqüência de inicialização não está de acordo com a especificação iniciada no índice 79"\\

    public static bool GravaValorExcel(string FileExcel, string SqlInsert) {
              try
              {
                  try
                  {
                      string ConexaoEx = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileExcel + ";Extended Properties='Excel 12.0 Xml;HDR=YES;'"
                      OleDbConnection Conn = new OleDbConnection(ConexaoEx);
                      OleDbCommand Cmd = new OleDbCommand();
                      Cmd.Connection = Conn;
                      Conn.Open();
                      Cmd.CommandText = SqlInsert;
                      Cmd.ExecuteNonQuery();
                      Conn.Close();
                      return true;
                  }
                  catch (OleDbException Ex)
                  {
                      MessageBox.Show(Ex.Message + " | " + FileExcel);
                      return false;
                  }
                  finally { 
                  }
              }
              catch(Exception Ex1)
              {
                  MessageBox.Show(Ex1.Message + " | " + FileExcel);
                  return false;
              }
    
              finally { 
              
              }
          
          }
    Pela MessageBox, o caminho está correto...


    sexta-feira, 2 de janeiro de 2015 15:48

Respostas

  • Após examinar verifique que uma aspa simples estava faltando na string de conexão, mas ao corrigir a mensagem:
    O provedor 'Microsoft.ACE.OLEDB.12.0' não está registrado na máquina local.

    Após pesquisar, no post : https://social.msdn.microsoft.com/Forums/pt-BR/087891de-14ed-4ec3-839d-50d9a168f3a4/access-oledb-120?forum=adoptpt

    Consegui a solução.

    Instalação do 2007 Office System Driver: Data Connectivity Components

    Link do Arquivo: http://www.microsoft.com/downloads/en/details.aspx?familyid=7554f536-8c28-4598-9b72-ef94e038c891&displaylang=en

    Segue abaixo a função caso ajude:

    public static bool GravaValorExcel(string FileExcel, string SqlInsert) {
              try
              {
                  try
                  {
                      string ConexaoEx = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileExcel + ";Extended Properties='Excel 12.0 Xml;HDR=YES;ReadOnly=False;'";
                      OleDbConnection Conn = new OleDbConnection(ConexaoEx);
                      OleDbCommand Cmd = new OleDbCommand();
                      Cmd.Connection = Conn;
                      Conn.Open();
                      Cmd.CommandText = SqlInsert;
                      Cmd.ExecuteNonQuery();
                      Conn.Close();
                      return true;
                  }
                  catch (OleDbException Ex)
                  {
                      MessageBox.Show(Ex.Message + " | " + FileExcel+"\n Talves seja necessária a Instalação do Access Database Engine");
                      return false;
                  }
                  finally { 
                  }
              }
              catch(Exception Ex1)
              {
                  MessageBox.Show(Ex1.Message + " | " + FileExcel);
                  return false;
              }
    
              finally { 
              
              }
          
          }

    sexta-feira, 2 de janeiro de 2015 20:16