Você pode se conectar ao IBM DB2 usando conexões baseadas no componente de dados da Microsoft chamado MDAC, no qual suporta os tipos de conexões Microsoft como ADO NET, OLE DB, ODBC, mas se você deseja uma alta performance, maior segurança e acesso a todos os recursos do IBM DB2 você pode usar o IBM Data Server Provider for .Net.
MDAC
Microsoft Data Access Components é uma estrutura de tecnologias da Microsoft inter-relacionada que permite aos programadores uma forma abrangente de desenvolvimento de aplicativos que podem acessar praticamente qualquer armazenamento de dados e uniforme. Seus componentes incluem: ActiveX Data Objects (ADO), OLE DB, e Open Database Connectivity (ODBC). Houve vários componentes obsoletos, assim, como o Microsoft Jet Database Engine, MSDASQL (o fornecedor de OLE DB para ODBC) e Remote Data Services (RDS). Alguns componentes também se tornaram obsoletos, como o Data Access Objects API e Remote Data Objects.
IBM Data Server Provider for .NET
O Provedor IBM ® Data Server para. NET estende o suporte de servidor de banco de dados para a interface ADO.NET. O provedor oferece acesso de alto desempenho e seguro para servidores de dados IBM. O IBM Data Server Provider para. NET é um nome que é usado para descrever os provedores .NET que são distribuídos com o servidor de dados clientes dos produtos IBM.
Local: C:\Program Files\IBM\SQLLIB\BIN\netf40
Assembler: IBM.Data.DB2.dll
Conectando ao IBM DB2 usando o IBM.Data.DB2.dll
1 – Crie um novo projeto C# e Design Time disponha na tela 5 componentes Labels, 4 Textboxs e um Button e configure o layout com na figura abaixo:
2 – Na janela Solution Explorer com o botão direito no projeto clique em Add > Reference, na janela seguinte sobre o menu Browse , clique no botão Browse e navegue até o driver de conexão da IBM citado logo acima, selecione o arquivo IBM.Data.DB2.dll e clique em OK:
3 – Use os trechos do código abaixo para completar o seu código gerado automaticamente.
Exemplo:
Neste exemplo utilizamos os Namespaces IBM para conectar ao banco de dados usando IBM Data Server Provider for .Net.
C#
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using IBM.Data.DB2; // namespace IBM namespace ConexaoDb2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public static void getDBConnection(string Server, string Database, string Username, string Password, string Timeout) { try { // String de Conexao string connectionString = // Servidor "Server=" + Server + // Banco de dados ";Database=" + Database + // Usuario ";UID=" + Username + // Senha ";PWD=" + Password + // TNSnames ";Connect Timeout=" + Timeout; //Conecta ao datasource usando a conexão DB2 DB2Connection conn = new DB2Connection(connectionString); //Abre a conexão com o banco de dados conn.Open(); MessageBox.Show("Conexão efetuada com sucesso"); } // Retorna erro catch (Exception ex) { // Mostra menssagem de erro MessageBox.Show(ex.ToString()); } } private void button1_Click(object sender, EventArgs e) { // Cria conexão getDBConnection(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, "30"); } } }
no meu aparece este erro “Não foi possível carregar arquivo ou assembly ‘IBM.Data.DB2, Version=9.0.0.2, Culture=neutral, PublicKeyToken=7c307b91aa13d208’ ou uma de suas dependências. O sistema não pode encontrar o arquivo especificado.”
o que pode ser?
Olá Fabio,
Você precisa baixar e instalar o Provider da IBM e referenciar o assembly ao seu projeto como mostra no segundo passo deste post.
Abs.
boa noite, eu tenho apenas esta dll aqui. posso usar? ou preciso baixar o pacote inteiro da ibm?
estou adicionando no projeto e referenciando, mas nao compila
Error 1 The type or namespace name ‘IBM’ could not be found (are you missing a using directive or an assembly reference?)
Olá Leandro, O provider irá instalar e registrar os assembly .NET corretamente. Outra opção é utilizar as dependencias usando o NuGet:
https://www.nuget.org/packages/IBM.Data.DB2/