none
Dúvidas numa conexao com access RRS feed

  • Pergunta

  • Boa tarde,

    utilizo vs 2008 - vb.net e sqlserver 2000

    Gostaria de saber se a conexão que estou fazendo abaixo está correta ? quando executo o projeto na minha maquina roda sem erro, ao publicar o site apresenta o erro abaixo:

    Dim

    apresenta esse erro:

    Exception Details: System.Data.OleDb.OleDbException: The Microsoft Jet database engine cannot open the file 'c:\TESTE.MDB'.  It is already opened exclusively by another user, or you need permission to view its data.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

    Stack Trace:
    [OleDbException (0x80004005): The Microsoft Jet database engine cannot open the file 'U:\TESTE.MDB'.  It is already opened exclusively by another user, or you need permission to view its data.]
       System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +969373
       System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +86
       System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +29
       System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +4863644
       System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
       System.Data.OleDb.OleDbConnection.Open() +40
       CF_GeraFolha1.lnkfolhaInd_Click(Object sender, EventArgs e) +2372
       System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +111
       System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +79
       System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565


    mapei a unidade U:\ dei as permissões mas não sei o que é esse erro, copiei o banco de dados do access para o c:\ do meu micro e apresentou o mesmo erro.
    Se alguém já viu esse tipo de erro, aguardo uma orientção, obrigado.


    oliverjer10@hotmail.com

     

    conn As New OleDbConnection()
    Dim cmd As OleDbCommand = conn.CreateCommand
    Conn.ConnectionString =
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=u:\Teste.mdb"
    If vTipo = 1 Then
    cmd.CommandText = "select *from tb_atvltr where cod_cadusu = " + vmatricula + " and ((year(dta_hor_atvltr) = " + RTrim(Str(Year(vdata_ini))) + ") or (year(dta_hor_atvltr) = " + RTrim(Str(Year(vData_fim))) + ")) and ((month(dta_hor_atvltr) = " + RTrim(Str(Month(vdata_ini))) + ") or (month(dta_hor_atvltr) = " + RTrim(Str(Month(vData_fim))) + "))"
    Else
    cmd.CommandText = "select *from tb_atvltr where ((year(dta_hor_atvltr) = " + RTrim(Str(Year(vdata_ini))) + ") or (year(dta_hor_atvltr) = " + RTrim(Str(Year(vData_fim))) + ")) and ((month(dta_hor_atvltr) = " + RTrim(Str(Month(vdata_ini))) + ") or (month(dta_hor_atvltr) = " + RTrim(Str(Month(vData_fim))) + "))"
    End If
    conn.Open() The Microsoft Jet database engine cannot open the file 'U:\TESTE.MDB'.  It is already opened exclusively by another user, or you need permission to view its data.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
    • Editado oliverjer10 segunda-feira, 27 de abril de 2009 18:59
    segunda-feira, 27 de abril de 2009 18:56

Respostas

  • Oliver,

    Sim é possível, lembre-se que quando você esta executando pelo visual studio, esta IDE (em resumo) esta simulando o IIS Local, e os usuários que são utilizados, o a permissão que esta sendo utilizada no VS, não necessariamente é a mesma permissão do IIS, tudo depende de como esta sua estrutura.
    O Visual Studio quando cria a simulação do IIS ele roda as paginas com privilégios elevados (http://msdn.microsoft.com/en-us/vstudio/aa964140.aspx), e no IIS irá depender de como esta configurado sua aplicação (Tipo de autenticação).

    Ps: Lembre que em muitos casos o usuário da aplicação é o definido no IIS, e em alguns casos este usuário não tem acesso a pastas e arquivos da rede (unidade x:)

    Veja alguns links que falam sobre isso:

    Configurar permissão no IIS
    http://support.microsoft.com/kb/324274/pt

    Autenticação no IIS
    http://technet.microsoft.com/pt-br/library/cc784103(WS.10).aspx

    Visual Studio 2008 com IIS 7
    http://www.marcosdellantonio.net/2008/08/10/visual-studio-2008-e-iis-70/

    Exemplo de permissões diferentes:
    http://www.asp.net/learn/whitepapers/denied-access-to-iis-directories/


    Abraço,
    Nelson Borges - Analista de Sistemas
    • Sugerido como Resposta Nelson Borges sábado, 16 de maio de 2009 15:46
    • Marcado como Resposta oliverjer10 segunda-feira, 15 de junho de 2009 14:36
    terça-feira, 12 de maio de 2009 21:32
  • Oliver, bom dia.

    Rapaz então vamos tentar te ajudar para terminar este projeto antes que de problemas. Bom, cara me passe as informações abaixo:

    1-) Qual usuário você esta utilizando na máquina quando gerar este erro (usuário do Windows).
    2-) Como esta as configurações de segurança do IIS ?
    3-) Qual usuário esta usando na conexão e quais os privilégios dele ?
    4-) O Arquivo do Acess possui alguma senha de proteção ? Como estão as configurações do arquivo (permissão NTFS, permissão de compartilhamento, modo do arquivo(somente leitura, etc) ?
    5-) Existe mais de um sistema acessando os dados desta tabela no Acess ?



    Me responda para poder ter uma visão do seu ambiente ai, pois como a propria mensagem diz pode ser um erro de permissão e/ou na abertura do arquivo: The Microsoft Jet database engine cannot open the file '\\snfponto\tradenet\nova\tradenet.mdb' It is already opened exclusively by another user, or you need permission to view its data.



    Abraço,
    Nelson Borges - http://nelsonborgesjr.spaces.live.com/blog/
    • Marcado como Resposta oliverjer10 segunda-feira, 15 de junho de 2009 14:38
    domingo, 24 de maio de 2009 18:10

Todas as Respostas

  • Oliver,


    Verifique os seguintes itens:

    1-) Altere a linha da connectionstring para :    Conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=u:\Teste.mdb"

    2-)Verifique se o arquivo mdb esta somente leitura em sua propriedade, se tiver desmarque.

    3-)Verifique as permissões de NTFS e as permissões de Compartilhamento.

    Mais informações verifique os links abaixo.

    MS-Access com ADO.NET
    http://msdn.microsoft.com/pt-br/library/cc580610.aspx

    Data Acess
    http://www.devarticles.com/c/a/ADO.NET/Data-Access-in-.NET-using-C-sharp-Part-1/


    Espero ter sido util, qualquer coisa poste ai denovo.

    Nelson Borges - Analista de Sistemas
    terça-feira, 28 de abril de 2009 02:37
  • bom dia,

    Muito obrigado Nelson !
    Vou verificar e fazer alguns testes.
    oliverjer10@hotmail.com
    quarta-feira, 29 de abril de 2009 13:45
  • bom dia,

    Continuo tendo problemas com essa conexão, precisava saber se é possivel o projeto rodar no visual studio 2008 e não apresentar nenhum erro de permissão e depois de publicado apresentar esse erro de permissão, não teria que apresentar o erro quando estou debugando o programa? Queria entender melhor esse processo. O problema pode ser na rede aqui do serviço ?
    grato



    Dexei mapeado no servidor onde está publicado o site o caminho para o aqruivo do access, mas mesmo assim da erro de permissão. Server Error in '/FOLHA' Application. -------------------------------------------------------------------------------- The Microsoft Jet database engine cannot open the file 'U:\Teste.MDB'. It is already opened exclusively by another user, or you need permission to view its data. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.OleDb.OleDbException: The Microsoft Jet database engine cannot open the file 'U:\Teste.MDB'. It is already opened exclusively by another user, or you need permission to view its data. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [OleDbException (0x80004005): The Microsoft Jet database engine cannot open the file 'U:\Teste.MDB'. It is already opened exclusively by another user, or you need permission to view its data.] System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +969373 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +86 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +29 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +4863644 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117 System.Data.OleDb.OleDbConnection.Open() +40 CF_GeraFolha1.lnkfolhaInd_Click(Object sender, EventArgs e) +4262 System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +111 System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +79 System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565 oliverjer10@hotmail.com
    • Editado oliverjer10 terça-feira, 12 de maio de 2009 14:46
    terça-feira, 12 de maio de 2009 14:40
  • Oliver,

    Sim é possível, lembre-se que quando você esta executando pelo visual studio, esta IDE (em resumo) esta simulando o IIS Local, e os usuários que são utilizados, o a permissão que esta sendo utilizada no VS, não necessariamente é a mesma permissão do IIS, tudo depende de como esta sua estrutura.
    O Visual Studio quando cria a simulação do IIS ele roda as paginas com privilégios elevados (http://msdn.microsoft.com/en-us/vstudio/aa964140.aspx), e no IIS irá depender de como esta configurado sua aplicação (Tipo de autenticação).

    Ps: Lembre que em muitos casos o usuário da aplicação é o definido no IIS, e em alguns casos este usuário não tem acesso a pastas e arquivos da rede (unidade x:)

    Veja alguns links que falam sobre isso:

    Configurar permissão no IIS
    http://support.microsoft.com/kb/324274/pt

    Autenticação no IIS
    http://technet.microsoft.com/pt-br/library/cc784103(WS.10).aspx

    Visual Studio 2008 com IIS 7
    http://www.marcosdellantonio.net/2008/08/10/visual-studio-2008-e-iis-70/

    Exemplo de permissões diferentes:
    http://www.asp.net/learn/whitepapers/denied-access-to-iis-directories/


    Abraço,
    Nelson Borges - Analista de Sistemas
    • Sugerido como Resposta Nelson Borges sábado, 16 de maio de 2009 15:46
    • Marcado como Resposta oliverjer10 segunda-feira, 15 de junho de 2009 14:36
    terça-feira, 12 de maio de 2009 21:32
  • Boa tarde,

    Nelson encontrei essas infotmações no link abaixo do msdn, mas não entendi muito bem no final da pagina ocorre o mesmo erro que tem na minha aplicação.

    do Kevin Spencer
    http://social.expression.microsoft.com/Forums/en-US/web/thread/72214b88-2140-403a-bd8f-58327c8951f3

    O caminho é a partir de sua conexão seqüência, e isso explica por que ela funciona em sua máquina, mas não no servidor hospedado. Saiba o que é o caminho do arquivo para a pasta em seu servidor de hospedagem (perguntando o serviço de hospedagem), e alterá-lo para isso.
    ***************************************
    Estou con essa situação atual:
    Tenho uma virtual Machine com vs 2008 instalado e roda normalmente;
    os dados do access que preciso está num servidor chamado ponto onde está esta compartilhada uma pasta chamada NOVA, com todos os acessos e nela o mdb do access;
    quando quero rodar na máquina virtual deixo a letra u:\ ponto\nova\teste.mdb mapeada roda normal
    publico a aplicação no servidor cdp00001;
    No servidor cdp00001, deixei mapeado U:\ponto\Nova\teste.mdb

    coloquei assim na aplicação:

     

    Dim strcon As String

     

    Dim strcaminho As String
    Dim strSeg As String
    Dim strMdb As String
    strcaminho = "u:\teste.mdb;"
    strcon = "Provider=microsoft.Jet.OLEDB.4.0;"
    strseg = "Persist Security Info=False;"
    strcon = strcon + "Data source=" + strcaminho + strSeg
    Dim objconexao As New OleDbConnection(strcon)

     

     

    Mas ainda acho que o servidor onde está hospedado que é o cpd00001 não enxerga U:\teste; apesar de estar mapeado.
    ******

    Nelson muito obrigado pela sua atenção e ajuda. Estou tentando publicar esse site faz tempo e não consigo, terminei de fazer no vs 2008 e achei que estava tudo certo, mas na hora de publicar complicou. Mas tudo bem, vou ler os links que vc indicou.

    Muito obrigado !


    ABS !!!



     


    oliverjer10@hotmail.com
    quarta-feira, 13 de maio de 2009 18:52
  • Boa tarde,

    encontrei um link que fala sobre este problema:

    http://support.microsoft.com/kb/308100/pt-br

    tem esse texto:

  • Em tempo de execução, você receberá a seguinte mensagem de erro (ou semelhante):
    O mecanismo de banco de dados Microsoft Jet não pode abrir o arquivo 'C:\File Databases\NWIND.MDB'. Ele já está aberto exclusivamente por outro usuário, ou você precisa permissão para exibir seus dados.
    Normalmente, este erro ocorre porque você não tem permissões corretas para acessar o arquivo de banco de dados (.mdb). Por padrão, o ASP.NET executa sob a conta ASPNET no .NET Framework 1.0 e, em NetworkService no .NET Framework 1.1. Você deve ter permissões Modificar no arquivo .mdb e na pasta onde o arquivo está localizado. Para obter mais informações, consulte a seção REFERENCES.
  • Certifique-se que os componentes para o Microsoft Jet banco de dados mecanismo estão instalados. Começando com o Microsoft Data Access Components 2.6 (MDAC), os componentes do Jet não estão incluídos. No entanto, você pode baixar uma versão redistribuível do Jet 4.0 Service Pack mais recente.
  • Será que alguém pode me dizer onde eu instalo a versão:
    Redistribuível do Jet 4.0 Service Pack mais recente.
    instalo no servidor onde está hospedado a página ??

    tenho essa versão instalado Msjet40.dll version 4.0.9511.0 e o sistema operacinal é windows server 2003


  • oliverjer10@hotmail.com
quinta-feira, 14 de maio de 2009 18:20
  • Eai Oliver, Resolveu ? Abraço,
    Nelson Borges - Analista de Sistemas
    sábado, 16 de maio de 2009 15:46
  • Bom dia,

    Ainda não resolvi, estou a mais de um ano nesse desenvolvimento, já acabou meu prazo e não resolvi, to enrolado aqui.
    A parte que acesso as tabelas do sqlserver 2000, acessa tudo certo. Mas a parte que tenho que acessar uma tabela do access no outro servidor não consigo. apresenta esse erro.

    The Microsoft Jet database engine cannot open the file '\\snfponto\tradenet\nova\tradenet.mdb'.  It is already opened exclusively by another user, or you need permission to view its data.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.OleDb.OleDbException: The Microsoft Jet database engine cannot open the file '\\snfponto\tradenet\nova\tradenet.mdb'.  It is already opened exclusively by another user, or you need permission to view its data.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:

    [OleDbException (0x80004005): The Microsoft Jet database engine cannot open the file '\\snfponto\tradenet\nova\tradenet.mdb'.  It is already opened exclusively by another user, or you need permission to view its data.]
       System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +969373
       System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +86
       System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +29
       System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +4863644
       System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
       System.Data.OleDb.OleDbConnection.Open() +40
       CF_GeraFolha1.lnkfolhaInd_Click(Object sender, EventArgs e) +3831
       System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +111
       System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +79
       System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
    

    abs.
    oliverjer10@hotmail.com
    terça-feira, 19 de maio de 2009 14:34
  • Oliver, bom dia.

    Rapaz então vamos tentar te ajudar para terminar este projeto antes que de problemas. Bom, cara me passe as informações abaixo:

    1-) Qual usuário você esta utilizando na máquina quando gerar este erro (usuário do Windows).
    2-) Como esta as configurações de segurança do IIS ?
    3-) Qual usuário esta usando na conexão e quais os privilégios dele ?
    4-) O Arquivo do Acess possui alguma senha de proteção ? Como estão as configurações do arquivo (permissão NTFS, permissão de compartilhamento, modo do arquivo(somente leitura, etc) ?
    5-) Existe mais de um sistema acessando os dados desta tabela no Acess ?



    Me responda para poder ter uma visão do seu ambiente ai, pois como a propria mensagem diz pode ser um erro de permissão e/ou na abertura do arquivo: The Microsoft Jet database engine cannot open the file '\\snfponto\tradenet\nova\tradenet.mdb' It is already opened exclusively by another user, or you need permission to view its data.



    Abraço,
    Nelson Borges - http://nelsonborgesjr.spaces.live.com/blog/
    • Marcado como Resposta oliverjer10 segunda-feira, 15 de junho de 2009 14:38
    domingo, 24 de maio de 2009 18:10
  • Bom dia,

    Mais uma vez muito obrigado pela ajuda,
    1-) Meu usuário de rede é OJERRI
    2-) virtual directory:
    A directory located on this computer;
    local path: Inetpub\wwwroot\intranet\web\FOLHA
    selecionado read, write, directory browsing, log visits, index this source
    aplication name: folha
    start point <intranet>\folha
    execute permissions : Scripts and Executables
    execute protection: medium pooled

    Document: enable default content
    cf_teladeentrada.aspx

    dentro da guia directory security ao clicar no botão edit:
    seleccionado enable anonymous access
    username:CPD00001\IUSR_SERVER-DTI
    embaixo selecionado: integrated windows authentication
    na opção ip address and domain name restriction:
    em edit: está selecionado granted access
    em security communications não está selecionado nenhuma opção.
    em HTTP Readers:
    custom HTTP Readers:
    x-powered-by:ASP.NET
    em custom errors:
    tem os erros padrões 400 até 502.

    se eu der um botão direito na pasta folha no iis e ir até permissions, tem os seguintes usuários:

    - administrators (cpd00001\administrators) só não está marcada a opção de special permissions as outras estão todas marcadas em allow;
    - aspnet machine account -  só está desmarcada full control e especial permissions; o restante das opções está selecionado allow;
    IIS_WPG(cpd00001\IIS_WPG)  special permissions está desmarcada, e as outras opções todas como allow;
    internet guest account(CPD00001\IUSR_SERVER-DTI) tem deny em write e special permissions, o restante das opções marcado allow;
    internet guest account(PMO\IUSR_CPD00001) allow para read e execute, list folders contents allow; reasd allow, o restante não está selecionade nem deny e nem allow.
    OJERRI todos marcados como allow;
    system todos marcados como allow;
    users(CPD00001\Users) allow para read e execute, list folders contents allow; reasd allow, o restante não está selecionade nem deny e nem allow.


    3-) Na conexao com o acces está assim:
    strcaminho = "u:\tradenet.mdb;"strcon = "Provider=microsoft.Jet.OLEDB.4.0;User Id=admin;Password=;"strSeg = "Persist Security Info=True"strcon = strcon + "Data source=" + strcaminho + strSeg
    Devo colocar o usuário OJERRI que é  o meu usuário de rede e que tem permissão no servidor e pasta onde está o arquivo do access no lugar de Admin ?
    strcaminho =
    "u:\tradenet.mdb;"strcon = "Provider=microsoft.Jet.OLEDB.4.0;User Id=admin;Password=;"strSeg = "Persist Security Info=True"strcon = strcon + "Data source=" + strcaminho + strSeg

    Quando EXECUTO UM \\172.20.0.244\
    TEM ESSA PASTA TRADENET, AO DAR UM BOTÃO DIREITO, propriedades, segurança, tem o usuário OJERRI e está permitir para todas as opções.
    tem tambem usuário (administrador\SNFPONTO) todas as opções selecionadas como permitir,
    ADMINISTRADORES(SNFPONTO) todas as opções selecionadas como permitir,

    nesse maquina 172.20.0.244 que é o snfponto, onde tem o aruivo do access, ao gerencia-la tenho permissão nesse micro também: 
    \pipe\srvsvc
    ojerri
    windows
    nro. de bloqueios 0
    gravar+ler

    sessões ojerri
    numero de arq. abertos 1

    4-) O Arquivo do access não possui senha de proteção

    5-) Essa tabela é usada por outro sistema, mas copiei essa tabela para uma pasta chamada tradenet por questão de segurança até me certificar que está funcionando tudo direito e não tem ninguem usando essa tabela.


    vou tentar explicar mais ou menos como é o ambiente aqui.

    1- Tenho um servidor cpd00001 nele eu tenho sqlserver20000 e o IIS instaado nesse servidor as minhas tabelas de cadastro estão todas nesse servidor e ao desenvolver a plicação no vs2008 se eu utilizar qualquer tabela desse servidor publicar o site funciona normalmente após publucado;

    2 - tenho uma outra tabela no access tradenet.mdb no micro snfponto e pego as informações de uma tabela especifica via aplicação jogo num vetor e a partir desse vetor faço uma tabela nova no sqlserver.

    3 - ao acessar essa tabela do access quando estou no visula studio 2008 não apresenta erro ele pega todos os dados e gera o relatorio que preciso;

    4 - quando publico apresenta o erro abaixo. Preciso saber qual o usuário que aplicação VS 2008 utiliza que ele consegue pegar as informação e não dá esse erro, só depois que publico que apresenta o erro, ou saber qual usuário devo colocar na conexão que tenho na aplicação, será que devo colocar admin ou Ojerri ?

    agora mudou so o codigo do erro, mas acredito que seja permissão ainda:
     Server Error in '/FOLHA' Application.
    Cannot start your application. The workgroup information file is missing or opened exclusively by another user.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
    Exception Details: System.Data.OleDb.OleDbException: Cannot start your application. The workgroup information file is missing or opened exclusively by another user.
    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:
    [OleDbException (0x80040e4d): Cannot start your application. The workgroup information file is missing or opened exclusively by another user.]
       System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +969373
       System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +86
       System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +29
       System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +4863644
       System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
       System.Data.OleDb.OleDbConnection.Open() +40
       CF_GeraFolha1.lnkfolhaInd_Click(Object sender, EventArgs e) +3831
       System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +111
       System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +79
       System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
    




    Muito obrigado pela atenção e ajuda, estou online se precisar de alguma informação eu passo.

     


    oliverjer10@hotmail.com
    terça-feira, 26 de maio de 2009 13:36
  • Oliverjer10,

    Faça o seguinte teste para mim:

    1-) Na string Connection deixe Persist Security Info = false
    2-) Crie um compartilhamento na máquina e passe o endereço do compartilhamento em vez do mapeamento u:\tradenet.mdb
    3-) Atribua permissão NTFS e de compartilhamento para o usuário que esta configurado no IIS na pasta onde esta o arquivo do Acess.



    Me responda como oque aconteceu,


    Abraço,

    Nelson Borges - http://nelsonborgesjr.spaces.live.com/blog/
    terça-feira, 26 de maio de 2009 22:49
  • Ola, Nelson

    Vou fazer os testes, aqui e depois eu retorno.
    Mais uma vezz muito grato, pela ajuda e atenção.

    abs.


    oliverjer10@hotmail.com
    quarta-feira, 27 de maio de 2009 16:05
  • Boa tarde,

    fiz zs alterações:
    1. CONEXAO FICOU ASSIM:

    strcaminho = "\\snfponto\tradenet\Nova\tradenet.mdb;"
            strcon = "Provider=microsoft.Jet.OLEDB.4.0;User Id=admin;Password=;"
            strSeg = "Persist Security Info=False"

    2. COMPARTILHAMENTO:

    \\SNFPONTO\TRADENET\NOVA\


    3.COMPARTILHAMENTO PARA O USUÁRIO

    IIS_WPG;
    IIS_CPD00001;
    cpd00001\iusr_server-dti

    Esse usuário iusr_server-dti  é local  do servidor IIS e do cpd00001 que são estão no mesmo servidor,
    apresentou essa mensagem de erro:
    Acredito ainda que é alguma permissão aqui, mas não sei qual.

    Server Error in '/FOLHA' Application.
    The Microsoft Jet database engine cannot open the file '\\snfponto\tradenet\Nova\tradenet.mdb'.  It is already opened exclusively by another user, or you need permission to view its data.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
    Exception Details: System.Data.OleDb.OleDbException: The Microsoft Jet database engine cannot open the file '\\snfponto\tradenet\Nova\tradenet.mdb'.  It is already opened exclusively by another user, or you need permission to view its data.
    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:

    [OleDbException (0x80004005): The Microsoft Jet database engine cannot open the file '\\snfponto\tradenet\Nova\tradenet.mdb'.  It is already opened exclusively by another user, or you need permission to view its data.]
       System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +969373
       System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +86
       System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +29
       System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +4863644
       System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
       System.Data.OleDb.OleDbConnection.Open() +40
       CF_GeraFolha1.lnkfolhaInd_Click(Object sender, EventArgs e) +3831
       System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +111
       System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +79
       System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
    


    oliverjer10@hotmail.com
    quinta-feira, 28 de maio de 2009 17:28
  • Oliver,


    Dá uma olhada nesta KB -> http://support.microsoft.com/default.aspx?scid=kb;en-us;316675

    Quando vc diz ter atribuido permissão para o usuário do IIS, como vc fez isso ?


    Abraço
    Nelson Borges - http://nelsonborgesjr.spaces.live.com/blog/
    sexta-feira, 29 de maio de 2009 00:06
  • boa tarde,

    Desculpe a demora, vou dar dar uma lida nesta kb.

    Muito obrigado
    oliverjer10@hotmail.com
    segunda-feira, 8 de junho de 2009 16:58
  • caro oliverjer10 vc simplemente não abriu a conexão com base de dados cara ai fica empossivel realizar um consulta na base de dados

    conn As New OleDbConnection()
    Dim cmd As OleDbCommand = conn.CreateCommand
    Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=u:\Teste.mdb"
    conn.Open
    ' ^ VEJA AQUI EU ABRI A CONEXÃO COM BASE DE DADOS É UTILIZADO CONN.OPEN

    If vTipo = 1 Then
    cmd.CommandText = "select *from tb_atvltr where cod_cadusu = " + vmatricula + " and ((year(dta_hor_atvltr) = " + RTrim(Str(Year(vdata_ini))) + ") or (year(dta_hor_atvltr) = " + RTrim(Str(Year(vData_fim))) + ")) and ((month(dta_hor_atvltr) = " + RTrim(Str(Month(vdata_ini))) + ") or (month(dta_hor_atvltr) = " + RTrim(Str(Month(vData_fim))) + "))"
    Else
    cmd.CommandText = "select *from tb_atvltr where ((year(dta_hor_atvltr) = " + RTrim(Str(Year(vdata_ini))) + ") or (year(dta_hor_atvltr) = " + RTrim(Str(Year(vData_fim))) + ")) and ((month(dta_hor_atvltr) = " + RTrim(Str(Month(vdata_ini))) + ") or (month(dta_hor_atvltr) = " + RTrim(Str(Month(vData_fim))) + "))"
    End If
    cmd.Cancel()
    conn.Close
    ' ^ VEJA AQUI EU FECHEI A CONEXÃO COM BASE DE DADOS É UTILIZADO CMD.CANCEL CONN.CLOSE

    segunda-feira, 15 de junho de 2009 01:07
  • Bom dia,

    Colega obrigado por ajudar, mas essa parte de exemplo está sem a linha do open, mas o código tem a linha de abetura.

    Ele roda normalmente dentro do visual studio 2008 abra as conexões direitinho, mas quando o site é publicado que apresenta erro. Deve ser alguma permissão na rede ou no IIS.


    oliverjer10@hotmail.com
    segunda-feira, 15 de junho de 2009 14:04
  • bom dia,

    Nelson, coloquei as permissões no iis assim,
    Acesso o IIS vou no diretorio virtual, permissions e adicionei os usuários.

    abs.


    oliverjer10@hotmail.com
    segunda-feira, 15 de junho de 2009 14:25
  • Nelson obrigado pela ajuda,  não estou mais no projeto, mas td bem vou dar uma revisada aqui só a nivel de curiosidade para saber onde eu falhei aqui. Mas muito obrigado pela ajuda e tempo dedicado em responder e me ajudar.
    Muito obrigado. Um abraço.


    oliverjer10@hotmail.com
    segunda-feira, 15 de junho de 2009 14:36