none
DAAB em aplicações Web RRS feed

  • Pergunta

  • Olá!

    Estou tentando utilizar o Data Access Application Block da Enterprise Library 2006 em aplicações Web sem sucesso. Adicionei as configurações no arquivo web.config.

    <configSections>
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
    </configSections>
    <dataConfiguration defaultDatabase="DbTest" />
    <connectionStrings>
    <add name="DbTest" connectionString="Database=sample;Server=localhost;User ID=adm;Password=pass"
    providerName="System.Data.SqlClient" />
    </connectionStrings>

    Depois quando tento executar o código abaixo dá o erro "ExecuteReader: propriedade Connection não foi inicializada.".

    Database database = DatabaseFactory.CreateDatabase();

    using (DbCommand command = database.GetStoredProcCommand("sp_test"))
    {
    using (DbDataReader reader = command.ExecuteReader())
    {
    }
    }

    Agora, se eu criar e abrir uma conexão explicitamente daí funciona.

    Database database = DatabaseFactory.CreateDatabase();
    DbConnection connection = database.CreateConnection();
    connection.ConnectionString = "Database=sample;Server=localhost;User ID=adm;Password=pass";
    connection.Open();

    Fazendo o Debug aparece o valor da string de conexão configurado na propriedade database no código que dá erro.

    Alguém sabe o que pode ser?
    segunda-feira, 28 de agosto de 2006 18:15

Respostas

  • Oi pessoal, foi malz! Fiquei quase uma hora mechendo pra ver o que era, daí logo depois que postei aqui, percebi a besteira que estava fazendo. Ao invés de executar command.ExecuteReader tinha de ser database.ExecuteReader. Desatenção minha, peço desculpas.

    Database database = DatabaseFactory.CreateDatabase();

    using (DbCommand command = database.GetStoredProcCommand("sp_test"))
    {
        using (DbDataReader reader = (DbDataReader) database.ExecuteReader(command))
        {
        }
    }
    segunda-feira, 28 de agosto de 2006 18:26

Todas as Respostas

  • Oi pessoal, foi malz! Fiquei quase uma hora mechendo pra ver o que era, daí logo depois que postei aqui, percebi a besteira que estava fazendo. Ao invés de executar command.ExecuteReader tinha de ser database.ExecuteReader. Desatenção minha, peço desculpas.

    Database database = DatabaseFactory.CreateDatabase();

    using (DbCommand command = database.GetStoredProcCommand("sp_test"))
    {
        using (DbDataReader reader = (DbDataReader) database.ExecuteReader(command))
        {
        }
    }
    segunda-feira, 28 de agosto de 2006 18:26
  • Caro Marco

    Baxiei a DAAB library 2006.  Foram criadas várias solucoes no meu grupo de programas. Agora estou na dúvida como configura-la para usar em minhas aplicações.

    Vc sabe onde econtrar um overview ou os passos para configurar?

     

    Obrigado

     

    segunda-feira, 4 de setembro de 2006 19:40