Usuário com melhor resposta
Classe Acesso a Dados - Vários BD

Pergunta
-
Preciso criar uma dll para acessar vários bancos de dados, Accces, MySql, Sql Server e Oracle.
Como poderia fazer uma classe que acessasse todos esse bancos, e q tenha as seguintes funcionalidades:
1) Popular um Dataset
2) Popular um DataRead
3) Inserir, Modificar, Excluir Registros
O problema todo é como identificar o banco de dados que será utilizado no momento da abertura do sistema, pois poderei ter várias situações de acesso a banco de dados, e queria criar uma única dll que trata-se disto, sem ter que ficar criando uma dll para cada banco.
Respostas
-
Venildo,
veja se ajuda:
Implementing a Provider Independent Data Access Layer in .NET - http://www.codeproject.com/vb/net/data_access_layer.asp
Writing Generic Data Access Code in ASP.NET 2.0 and ADO.NET 2.0 - http://msdn2.microsoft.com/en-us/library/ms971499.aspx
Ricardo Oneda
http://oneda.mvps.org/blog
Todas as Respostas
-
Olá Venildo,
Identificar o banco de dados é o mais simples... Basta você definir um parâmetro no arquivo de configuração da aplicação (App.config) que identifique o banco de dados. Ao iniciar a aplicação, você verifica esse parâmetro e decide como sua camada de dados deve funcionar.
A partir daí, basta utilizar as instruções SQL corretas para cada banco de dados, e trabalhar como você está acostumado (DataReader, DataAdapter, etc...).
Abraços,
Caio Proiete
Caio Proiete
http://www.caioproiete.com -
Caio,
Poderia me explicar com mais detalhes como fazer essa parte do App.Config.
Outra questão, é para data tipo de banco tem um objeto de manipulação, por exemplo o DataRead, é essa parte que está pegando e muito, pois como vou tratar esse objetos dentro da minha camada de negócios.
-
Venildo,
veja se ajuda:
Implementing a Provider Independent Data Access Layer in .NET - http://www.codeproject.com/vb/net/data_access_layer.asp
Writing Generic Data Access Code in ASP.NET 2.0 and ADO.NET 2.0 - http://msdn2.microsoft.com/en-us/library/ms971499.aspx
Ricardo Oneda
http://oneda.mvps.org/blog