NOLOCK = READ UNCOMMITED = Leitura Suja

Trabalhando em alguns sistemas, nos foi recomendado, pelo próprio cliente, que fizéssemos uso do operador NOLOCK em todos os comandos de consulta que fizéssemos no banco de dados. Isso parece uma atitude exagerada, mas por experiência do cliente, com receio de deadlocks, tínhamos de seguir à risca essa indicação.

You no lock?

O SQL Server utiliza recursos de bloqueio (tanto para escrita quanto leitura) para garantir a integridade dos dados. Enquanto executamos uma transação seguimos o conceito ACID (se você não conhece este conceito, veja este post Entity Framework 6 – Database.BeginTransaction() e Database.UseTransaction(DbTransaction)). Por conta disso, dentro de uma transação qualquer comando paralelo que tente acessar os dados com os quais estamos trabalhando entram nesse bloqueio, e assim são forçados a aguardar o término de nossa transação.

Saiba mais

About these ads

Utilizando PowerShell para o acesso a bases de dados SQL

O Windows PowerShell é um prompt de comando muito poderoso. Com ele podemos criar scripts para automatização de tarefas, consumir componentes Microsoft .Net, objetos COM e outras APIs de aplicações Microsoft (como por exemplo Sharepoint, Exchange, Active Diretory, etc).

Devido ao seu uso bastante genérico, sempre surgem diferentes situações para o seu emprego. Gostaria de demonstrar nesse post como é feita a leitura e inclusão de dados em bases de dados SQL via Windows PowerShell.

Saiba mais

Transações

Transações são necessárias quando realizamos um conjunto de operações em um determinado recursos distribuído (banco de dados, serviço  de mensageria, serviço de gerenciamento de arquivos, etc) e queremos garantir a completude deste conjunto de operações ao seu término, evitando que qualquer possível erro durante a execução do conjunto de operações deixe os recursos distribuídos inconsistentes.

cjta_wstran1

Saiba mais

SQL Azure – Consultando dados

O SQL Azure é um conjunto de serviços que oferece capacidade de processamento e armazenamento de dados relacionais na nuvem. É a ferramenta que devemos utilizar para armazenarmos dados relacionais de nossa aplicação na plataforma Windows Azure.

No post anterior (http://ferhenriquef.com/2012/04/25/como-criar-um-banco-de-dados-no-sql-azure/) discutimos sobre como criar uma base de dados no SQL Azure, neste post vou demonstrar como acessar o SQL Azure.

Para acessar o SQL Azure não precisamos de nenhum SDK ou configuração especial, apenas precisamos modificar nossa connection string, definindo como server o nome do nosso servidor no Azure. Saiba mais

Como criar um Banco de Dados no SQL Azure

O SQL Azure representa um conjunto de serviços que fornecem a capacidade de processamento e armazenamento de dados relacionais no Windows Azure. O SQL Azure nos permite fazer uso dos mesmos recursos que estamos acostumados no SQL (persistência de dados, BI, relatórios, replicação e outros).

Neste post irei descrever como criar seu banco de dados no Windows Azure, nos próximos posts vou demonstrar como devemos fazer para consumir os dados deste banco de dados utilizando os recursos nativos do .Net Framework.

Vamos então a criação do banco de dados!

1 – Faça logon em sua conta do Windows Azure
2 – Vá até o painel de gerenciamento do Windows Azure e clique no ícone “Novo Servidor de Banco de Dados”

Capture02

Saiba mais

Windows Phone Mango e Microsoft SQL CE

Para armazenar e recuperar dados em um banco de dados local as aplicações Windows Phone utilizam LINQ to SQL. O LINQ to SQL é um recurso nativo do Framework 3.0 e foi um dos recursos que mais chamaram atenção no lançamento do Microsoft Visual Studio 2008. O LINQ to SQL, como já dito em outros posts, fornece mapeamento objeto-relacional entre a aplicação e bancos de dados relacionais, além disso é um recurso extremamente poderoso, que permite a construção de consultas utilizando sintaxe C# e VB.Net.

O Windows Phone Mango utiliza como base de dados o Microsoft SQL CE, versão compacta do famoso banco de dados Microsoft SQL, e própria para dispositivos móveis.

Aqui vamos apresentar o exemplo de uma aplicação que armazena e remove dados do banco de dados Microsoft SQL CE, utilizando como plataforma o Windows Phone Mango.

1o – Crie a aplicação utilizando o template Windows Phone Application.

2o – Ao ser perguntado sobre a versão da plataforma Windows Phone, selecione a opção Windows Phone OS 7.1.

3o – Dentro do projeto crie três pastas, sendo elas: DAO, Controller e Model.
windowsPhone01

4o – Faça referência a DLL System.Data.Linq.
windowsPhone02

5o – Dentro da pasta Model, criada anteriormente, crie a classe DataItem conforme a imagem a seguir.
windowsPhone03

6o – Adicione os atributos de mapeamento objeto-relacional LINQ para criar o mapeamento entre a classe e a tabela do banco de dados do Microsoft SQL CE. Faça referência ao namespace System.Data.Linq.Mapping.
windowsPhone04

7o – Dentro da pasta DAO crie uma classe chamada DataBaseContext, e a faça herda DataContext, classe presente no namespace System.Data.Linq. Esta classe será nosso data context e será responsável por fazer a ponte entre a aplicação e o banco de dados. Dentro da classe crie um atributo público chamado DataItems e que seja do tipo Table<DataItem>, este atributo representará nossa tabela no banco de dados. A classe DataBaseContext deverá se parecer com a seguinte implementação:
windowsPhone05

8o – Agora que temos nossa entidade e nosso data context, devemos criar uma classe que encapsule os comando com o banco de dados, por isso criaremos dentro da pasta DAO a classe DAOProvider. Esta classe representará nossa camada de acesso a dados e encapsulará os comandos feitos para o banco de dados. Nesta classe implementaremos quatro métodos, sendo eles: CreateDataBase, método que criará a base de dados; GetDataItems, método que retornará todos os dados que estiverem no banco de dados; Save, salva novos registros na base de dados; Remove, remove os dados do banco de dados. A implementação funcionará da seguinte forma:
windowsPhone06

9o - Para intermediar as chamadas entre a camada de visão e o repositório criaremos uma classe de controle que faça chamadas ao repositório. A vantagem de utilizar este tipo de classe é a possibilidade de encapsultar o repositório e poder adicionar filtros que intermediem o acesso aos dados do banco de dados. Esta classe deverá ser implementada como demonstrado a seguir:
windowsPhone07

10o – Finalmente vamos construir a interface do nosso aplicativo. Esta será uma interface bastante simples, deverão ser adicionados os seguintes itens: um textbox, um listbox e um botão (mais detalhes do layout poderão ser vistos no link para o download do exemplo, pois o layout do projeto não é o objetivo deste post).
windowsPhone08

11o – O único detalhe importante do layout é o modo como será feito o bind do listbox, pois na verdade ele será populado "na mão", isto é, os itens serão adicionados um-a-um (em um próximo post veremos como fazer isso de modo automático). Segue detalhe do XAML descrevendo o bind do listbox.
windowsPhone09

12o – A lógica da camada de visão deverá funcionar como o código apresentado a seguir. Como pode ser observado no código, ao clicar no botão Salvar um novo registro será incluso na base de dados, e ao clicar sobre qualquer item do listbox, o mesmo será removido do banco de dados.
windowsPhone10

Esta é uma introdução ao acesso a dados utilizando o Windows Phone e o Microsoft SQL CE. Espero que este post sirva como introdução para todos, e também espero que motive a construção de novos aplicativos para esta nova plataforma.

Para o download do exemplo acesse esse link: http://code.msdn.microsoft.com/Windows-Phone-Mango-e-SQL-81f15d55

[]s!

windowsPhone11

Microsoft – e-books grátis (free e-books)

A Microsoft disponibilizou vários livros, em versão digital, de forma gratuíta.
Resolvi compartilhar alguns links através deste post.
Seguem os links:

Own Your Space–Keep Yourself and Your Stuff Safe Online
http://www.microsoft.com/download/en/details.aspx?displayLang=en&id=1522

Windows Phone Programming in C# For Beginners
http://blogs.msdn.com/b/mvplead/archive/2011/01/28/free-ebook-windows-phone-programming-in-c-for-beginners.aspx

Silverlight for Windows Phone
http://blogs.msdn.com/b/lebanon/archive/2011/02/25/free-ebook-silverlight-for-windows-phone.aspx

Windows Phone Programming in C#
https://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=8729&c1=en-us&c2=0&Login=&wa=wsignin1.0

Programming Windows Phone 7
http://blogs.msdn.com/b/microsoft_press/archive/2010/10/28/free-ebook-programming-windows-phone-7-by-charles-petzold.aspx

Programming Windows Phone 7 (Special Excerpt 2)
http://blogs.msdn.com/b/microsoft_press/archive/2010/08/02/free-ebook-petzold-s-programming-windows-phone-7-special-excerpt-2.aspx

Own Your Future: Update Your Skills with Resources and Career Ideas from Microsoft
http://blogs.msdn.com/b/microsoft_press/archive/2010/03/03/free-ebook-own-your-future-update-your-skills-with-resources-and-career-ideas-from-microsoft.aspx

11 Steps to Create a Successful Web Site
http://blogs.msdn.com/b/officeliveguy/archive/2009/02/12/fre-ebook-11-steps-to-create-a-successful-web-site.aspx

Build a website that sells
http://blogs.msdn.com/b/officeliveguy/archive/2009/02/12/free-e-book-build-a-website-that-sells.aspx

Windows Azure
http://blogs.msdn.com/b/innov8showcase/archive/2010/07/06/free-e-book-on-windows-azure.aspx

First Look Microsoft Office 2010
http://blogs.msdn.com/b/microsoft_press/archive/2010/01/20/free-ebook-first-look-microsoft-office-2010.aspx

Microsoft Office 365: Connect and Collaborate Virtually Anywhere, Anytime
http://blogs.msdn.com/b/microsoft_press/archive/2011/08/17/free-ebook-microsoft-office-365-connect-and-collaborate-virtually-anywhere-anytime.aspx

Moving to Microsoft Visual Studio 2010
http://blogs.msdn.com/b/microsoft_press/archive/2010/09/13/free-ebook-moving-to-microsoft-visual-studio-2010.aspx

Windows 7 troubleshooting tips
http://blogs.msdn.com/b/microsoft_press/archive/2009/10/26/free-e-book-windows-7-troubleshooting-tips.aspx

Understanding Microsoft Virtualization Solutions
http://blogs.msdn.com/b/microsoft_press/archive/2010/02/16/free-ebook-understanding-microsoft-virtualization-r2-solutions.aspx

Introducing Microsoft SQL Server 2008 R2
http://blogs.msdn.com/b/microsoft_press/archive/2010/04/14/free-ebook-introducing-microsoft-sql-server-2008-r2.aspx

Mais livros em http://social.technet.microsoft.com/search/en-US?query=Free%20e-book%3a&startindex=0

Por
Fernando Henrique Inocêncio Borba Ferreira.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 65 outros seguidores