none
não grava no banco access RRS feed

  • Pergunta

  • Bom dia galera,

    Vejam se podem me ajudar, é o seguinte na minha aplicação com um banco ACCDB está na pasta APP_Data, e o caminho que é o |DataDirectory|/banco.accdb, não grava no banco por nada, quando uso localmente em outra máquina funciona, eu tambem fiz direto com o caminho c:\inetpub\wwwroot\sistema\banco.accdb, mas não grava nada no banco

    No servidor web, que só acesso via ftp não altero as permissões, mas o pessoal falou que as permissão estão como "todos" na pasta app_data e tambem tanto no arquivo banco.aacdb.

    Será que tem que atribuir outro tipo de permissão em outro lugar no servidor? Ou em vez de usar a permissão "todos" tem que usar outra difierente.

     

    Obrigado

     

    terça-feira, 28 de setembro de 2010 12:01

Todas as Respostas

  • Posta a ex
    terça-feira, 28 de setembro de 2010 21:36
  • Bom dia galera,

    Vejam se podem me ajudar, é o seguinte na minha aplicação com um banco ACCDB está na pasta APP_Data, e o caminho que é o |DataDirectory|/banco.accdb, não grava no banco por nada, quando uso localmente em outra máquina funciona, eu tambem fiz direto com o caminho c:\inetpub\wwwroot\sistema\banco.accdb, mas não grava nada no banco

    No servidor web, que só acesso via ftp não altero as permissões, mas o pessoal falou que as permissão estão como "todos" na pasta app_data e tambem tanto no arquivo banco.aacdb.

    Será que tem que atribuir outro tipo de permissão em outro lugar no servidor? Ou em vez de usar a permissão "todos" tem que usar outra difierente.

     

    Obrigado

     


    Coloque seu codigo inclusive a conexão.

     

    abs

    quarta-feira, 29 de setembro de 2010 12:26
  • Mudei o caminho mas não adiantou ainda não continua gravando.

    No webconfig não tem nada.

    Segue o codigo:

    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Data.OleDb;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Xml.Linq;

    namespace RH
    {
        public partial class WebForm1 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
               

            }
            protected void Page_Init(object Sender, EventArgs e)
            {
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1));
                Response.Cache.SetNoStore();
            }


            protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
            {
                if (rbnao.Checked == true)
                {
                    OleDbConnection oConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\inetpub\\wwwroot\\sistema\\banco.accdb;Persist Security Info=True;Jet OLEDB:Database Password=167985");
                    try
                    {
                        oConn.Open();
                        string q0 = "nao";
                        string sql = "insert into rh (q0) values (@q0)";
                        OleDbCommand cmd = new OleDbCommand(sql, oConn);
                        cmd.Parameters.Add(@q0, OleDbType.VarChar).Value = q0;
                        cmd.ExecuteNonQuery();
                    }
                    catch (Exception)
                    {
                        Response.Redirect("erro.aspx");
                    }
                    finally
                    {
                        if (oConn.State == ConnectionState.Open)
                            oConn.Close();
                        Response.Redirect("obrigado.aspx");
                    }
                }
               
            }

            protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
            {
                if (rbsim.Checked == true)
                {

                    Response.Redirect("pesquisa.aspx");
                }
            }
        }
    }

    quarta-feira, 29 de setembro de 2010 17:39
  • Olá Warley,

    A pasta que fica o banco deve ter permissão de gravação pelo script.

    Essa permissão é dada no iis pelos administradores ou por alguma funcionalidade oferecida pelo site.

     

    Alexandre

    quarta-feira, 29 de setembro de 2010 19:32
  • Geralmente não utilizo a senha do access, e esse nome de arquivo? Ta correto? Access no final é .mdb, uso a seguinte string:

     

    OleDbConnection conexao =

    new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\inetpub\\wwwroot\\sistema\\banco.mdb;Persist Security Info=False");


    Melhor que dar o peixe é ensinar a pescar

    Daniel Yamaguti
    Gerente de TI
    quarta-feira, 13 de outubro de 2010 13:53