none
SQL Server Compact Edition 3.5 - esta dando erro RRS feed

  • Pergunta

  • Olá, pessoal então eu desenvolvi uma aplicação para ser compatível com o Entity Framework, eu consigo criar o instalador e tudo certinho mas quando tento executar minha aplicação aparece a seguinte mensagem:

    Alguém sabe como eu posso resolver este problema?

    quarta-feira, 26 de fevereiro de 2014 13:32

Respostas

  • Que bom que deu certo!

    Eu uso um método que acaba funcionando para esta 'liberação' no Arquivos de Programas.
    Pelo que sei o SQLCE exige que seja como administrador. Outros Bds como .mdb, .db e etc não precisa. Mas o .Sdf precisa desta alteração.

    Com o projeto aberto no Visual Studio, procure pelo arquivo por "App.manifest"

    Ele vai ter uma estrutura parecida como abaixo:

    <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
            <!-- UAC Manifest Options
                If you want to change the Windows User Account Control level replace the 
                requestedExecutionLevel node with one of the following.
    
            <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
            <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
            <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />
    
                If you want to utilize File and Registry Virtualization for backward 
                compatibility then delete the requestedExecutionLevel node.
            -->
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
          </requestedPrivileges>

    Você troca o "isInvoker" para como está acima... "requireAdministrator"

    Assim a aplicação irá requerer a execução como administrador. Se eu não me engano, vai resolver este problema

    Se não, em últimos casos, instale o banco de dados no C:\ e aplicação no Arquivos de Programas. E dentro do aplicativo direcione o caminho somente do banco.


    Se deu tudo certo, não esqueça de marcar como resposta

    At

    Alan

    • Marcado como Resposta Sr.Basic quarta-feira, 5 de março de 2014 15:48
    sábado, 1 de março de 2014 12:10

Todas as Respostas

  • Olá Sr.Basic,

    Necessitamos mais detalhes para responder com exatidão.

    Por favor envie os detalhes ao clicar no botão detalhes e também envie o trecho de código que você utiliza para fazer a conexão com o SQL CE incluindo o a string de conexão juntamente com o path do arquivo do banco.

    Até logo.

    quarta-feira, 26 de fevereiro de 2014 13:57
  • Aqui está a janela com o erro que acontece:

    aqui a minha string de conexão:

    "Private StringConexao As String = "Data Source=BD.sdf""

    O banco de dados é um arquivo em sdf.

    Desculpe por demorar tanto a responder.

    quinta-feira, 27 de fevereiro de 2014 15:27
  • Uma idéia...

    Está tentando executar em "Arquivos de Programas"?

    Faça o teste em outra pasta que não seja do sistema.


    At

    Alan
    sexta-feira, 28 de fevereiro de 2014 12:16
  • Cara como vc sabia? O_O, nem tinha pensado nisso, acabei de testar e deu certo.Mas agora o que faço?Pois não dá pra deixar a aplicação sem o banco de dados.Será que é alguma permissão do sistema que preciso habilitar? se for como eu faço isso na hora que ele estiver instalando em uma máquina?
    sexta-feira, 28 de fevereiro de 2014 14:30
  • Que bom que deu certo!

    Eu uso um método que acaba funcionando para esta 'liberação' no Arquivos de Programas.
    Pelo que sei o SQLCE exige que seja como administrador. Outros Bds como .mdb, .db e etc não precisa. Mas o .Sdf precisa desta alteração.

    Com o projeto aberto no Visual Studio, procure pelo arquivo por "App.manifest"

    Ele vai ter uma estrutura parecida como abaixo:

    <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
            <!-- UAC Manifest Options
                If you want to change the Windows User Account Control level replace the 
                requestedExecutionLevel node with one of the following.
    
            <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
            <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
            <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />
    
                If you want to utilize File and Registry Virtualization for backward 
                compatibility then delete the requestedExecutionLevel node.
            -->
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
          </requestedPrivileges>

    Você troca o "isInvoker" para como está acima... "requireAdministrator"

    Assim a aplicação irá requerer a execução como administrador. Se eu não me engano, vai resolver este problema

    Se não, em últimos casos, instale o banco de dados no C:\ e aplicação no Arquivos de Programas. E dentro do aplicativo direcione o caminho somente do banco.


    Se deu tudo certo, não esqueça de marcar como resposta

    At

    Alan

    • Marcado como Resposta Sr.Basic quarta-feira, 5 de março de 2014 15:48
    sábado, 1 de março de 2014 12:10
  • Esse "App.manifest", é do c# eu programo em vb net.Qual o arquivo equivalente a ele em vb.net?
    sábado, 1 de março de 2014 19:49
  • Tem no vb.net sim.

    Mas faz outro caminho:

    No menu superior, Vá em "Project" > "nome do projeto Properties

    Na aba "Application", selecione "View Windows Settings"

    E chegará neste arquivo


    At

    Alan
    • Marcado como Resposta Giovani Cr terça-feira, 4 de março de 2014 17:01
    • Não Marcado como Resposta Sr.Basic quarta-feira, 5 de março de 2014 15:48
    domingo, 2 de março de 2014 13:51
  • Finalmente consegui, obrigado pela ajuda Alan.Bernardes.
    • Marcado como Resposta Sr.Basic quarta-feira, 5 de março de 2014 15:48
    • Não Marcado como Resposta Sr.Basic quarta-feira, 5 de março de 2014 15:48
    quarta-feira, 5 de março de 2014 15:48