Tampilkan postingan dengan label PostgreSQL. Tampilkan semua postingan
Tampilkan postingan dengan label PostgreSQL. Tampilkan semua postingan

19 Juni 2013

Koneksi ConnectionString MyODBC MySQL, PsqlODBC PostgreSQL dan Firebird ODBC

Bahasa pemrograman desktop windows populer biasanya tidak dibuat oleh vendor Open Source yang berlisensi Free. Sebut saja Visual Basic 6.0, Visual Basic.NET, dan Delphi.

Menurut pengalaman penulis ada 3 database yang banyak digunakan oleh perusahaan atau instansi dengan anggaran yang tidak cukup besar. Sehingga memilih Database Open Source yang berlisensi Free berikut ini, yaitu :

1. MySQL.
2. PostgreSQL.
3. Firebird.

Agar dapat terhubung ke bahasa pemrograman berbasis desktop, Microsoft telah membuat jembatan penghubung yaitu ODBC. Dimana vendor database harus membuat sendiri Driver ODBC-nya, sehingga kita harus mendownload driver tersebut, yaitu :

1. MySQL ODBC Driver untuk MySQL di
http://dev.mysql.com/downloads/connector/odbc/3.51.html       untuk versi 3.51 http://dev.mysql.com/downloads/connector/odbc/                     untuk versi 5.1

2. Postgres ODBC Driver di
http://www.postgresql.org/ftp/odbc/versions/msi/
Pilih salah satu versi, misalnya file : psqlodbc_09_01_0100.zip

3. Firebird / Interbase ODBC Driver di
http://www.firebirdsql.org/en/odbc-driver/
Pilih salah satu versi, misal file : Firebird_ODBC_2.0.1.152_Win32.exe

Kemudian untuk membuat koneksi ke database gunakan ConnectionString berikut ini

1. MySQL :

Driver={MySQL ODBC 5.1 Driver};Server=localhost;Port=3306;Database=test;User=root; Password=;Option=3;

Driver={MySQL ODBC 3.51 Driver};Server=localhost;Port=3306;Database=test;User=root; Password=;Option=3;



2. PostgreSQL :

Driver={PostgreSQL};Server=localhost;Port=5432;Database=db;Uid=admin;Pwd=123;

Driver={PostgreSQL ANSI};Server=localhost;Port=5432;Database=db;Uid=admin;Pwd=123;

Driver={PostgreSQL UNICODE};Server=localhost;Port=5432;Database=db;Uid=admin;Pwd=123;



3. Firebird / Interbase :

Driver={Firebird/InterBase(r) driver};Uid=SYSDBA;Pwd=masterkey; DbName=d:\firebird\examples\test.fdb; 

Koneksi VS 2008 dengan DotConnect

dotConnect adalah komponen berbayar jadi anda harus membeli lisensinya, dotConnect  menggunakan library Devart.Data.dll dan Devart.Data.PostgreSql.dll jadi kedua library ini harus ditambahkan pada Referensi.
Dalam membuat aplikasi Visual Studio 2008 dengan database PostgreSql menggunakan koneksi Devart pertama-tama saat kita sudah membuka Form kita tambahkan Referensi Devart sepeti ini :



















Lalu kemudian pada form kita tambahkan komponen ListBox :


























Pada View Code disini saya tampilkan script :

Imports Devart.Data.PostgreSQL

Public Class Form2
    Dim Conn1 As New PgSqlConnection()
    Dim command As IDbCommand

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim StrCol1 As String
        StrCol1 = "nnnn"
        Conn1.ConnectionString = "Server=localhost;Port=5432;" & _
                    "User Id=postgres;Password=abc123;Database=accnet"
        Conn1.Open()
        command = New DevartCommand("SELECT * FROM perkiraan WHERE tahun=2009 order by noperkiraan", Conn1)
        Dim reader As IDataReader = command.ExecuteReader
        Try
            Do While reader.Read
                StrCol1 = Trim(reader.Item(0))
                Select Case Len(Trim(reader.Item(0)))
                    Case 1
                        StrCol1 = Trim(reader.Item(0)) & "    "
                    Case 2
                        StrCol1 = Trim(reader.Item(0)) & "   "
                    Case 3
                        StrCol1 = Trim(reader.Item(0)) & "  "
                    Case 4
                        StrCol1 = Trim(reader.Item(0)) & " "
                End Select
                ListBox1.Items.Add(StrCol1 & "   " & reader.Item(1))
            Loop
        Finally
            reader.Close()
        End Try
        reader.Close()
        Conn1.Close()
        ListBox1.Focus()
    End Sub
End Class

ConnectionString pada Npgsql sama dengan Devart.
Tampak Pada View Code ada script :

Conn1.ConnectionString = "Server=localhost;Port=5432;" & _
                    "User Id=postgres;Password=abc123;Database=accnet"

Disinlah koneksi Devart di deklarasikan yaitu menunjukkan elemen :
  • Server – spesifikasi lokasi server
  • User Id – database user
  • Port - default adalah 5432
  • Password -  password untuk database user
  • Database - nama database
Lalu kita Open dengan cara Conn1.Open() sedang untuk command disitu tampak dideklarasi dengan Type IDbCommand untuk membuat perintah “Select….” Sedangkan untuk membaca data digunakan read dengan Type IDataReader

Maka jika di Run (F5).






















Yang lebih menarik dari dotConnect  yaitu adanya komponen yang bisa konect pada aplikasi Smart Device Project yaitu untuk aplikasi Mobile VS2008, jika anda mengembangkan aplikasi Smart Device Project maka anda harus membeli lisensi dotConnect yang khusus untuk koneksi Smart Device Project dengan database PostgreSQL

Install PostgreSQL ODBC Driver

Jika Anda senang membuat aplikasi database, tentu sudah tidak asing dengan ODBC (Open DataBase Connectivity). Sebab ODBC memberikan interface universal antara aplikasi dengan database server. Sehingga pembuat aplikasi tidak perlu mempelajari masing-masing interface ke database server. Database PostgreSQL juga menyediakan driver ODBC yaitu psqlODBC.
PostgreSQL ODBC Driver
PostgreSQL ODBC Driver. Courtesy of DataDirect.com

Kita bisa menggunakan psqlODBC untuk keperluan, misalnya:
  • Membuat aplikasi laporan sendiri (customize) menggunakan aplikasi reporting seperti Crystal Report.
  • Membuat aplikasi tambahan yang memerlukan koneksi ke database PostgreSQL, tetapi tidak membutuhkan performance yang tinggi. Jika membutuhkan performance, harus menggunakan library native dari PostgreSQL.
Berikut cara melakukan instalasi psqlODBC, dalam contoh ini menggunakan Windows 7.
1. Jalankan Application Stack Builder dari Start Menu->PostgreSQL 8.x->Application Stack Builder.
Install PostgreSQL ODBC Driver
Application Stack Builder

2. Pilih database server PostgreSQL yang ingin dikonfigurasi, dalam contoh ini PostgreSQL 8.4 di localhost. Kemudian klik ‘Next’.
Install PostgreSQL ODBC Driver
Select PostgreSQL Server

3. Pilih Categories->Database Drivers->psqlODBC v08.04.200-1. Lalu klik ‘Next’
Install PostgreSQL ODBC Driver
Install PostgreSQL ODBC Driver

4. Pilh lokasi folder sementara untuk mendownload installer, dalam contoh ini ‘D:\temp’. Lalu klik ‘Next’.
Install PostgreSQL ODBC Driver
Install PostgreSQL ODBC Driver

5. Application Stack Builder akan mendownload package installer. Tunggu sampai selesai.
Install PostgreSQL ODBC Driver
Install PostgreSQL ODBC Driver

6. Setelah selesai, Klik ‘Next’ untuk menjalankan installer psqlODBC.
Install PostgreSQL ODBC Driver
Install PostgreSQL ODBC Driver

7. Anda akan melihat Wizard Setup psqlODBC seperti gambar berikut. Klik ‘Next’
Install PostgreSQL ODBC Driver
Install PostgreSQL ODBC Driver

8. Pilih lokasi instalasi psqlODBC, gunakan default Installation Directory seperti berikut. Lalu klik ‘Next’.
Install PostgreSQL ODBC Driver
Install PostgreSQL ODBC Driver

9. Setup siap melakukan instalasi psqlODBC. Klik ‘Next’.
Install PostgreSQL ODBC Driver
Install PostgreSQL ODBC Driver

10. Setup melakukan instalasi psqlODBC. Tunggu sampai selesai.
Install PostgreSQL ODBC Driver
Install PostgreSQL ODBC Driver

11. Jika berhasil, Anda akan melihat layar berikut. Klik ‘Finish’.
Install PostgreSQL ODBC Driver
Install PostgreSQL ODBC Driver

12. Application Stack Builder menampilkan pesan bahwa instalasi telah selesai. Klik ‘Finish’.
Install PostgreSQL ODBC Driver
Install PostgreSQL ODBC Driver

Koneksi PostgreSQL dengan VB.Net

Pada kesempatan kali ini aku akan coba membahas cara koneksi dari VB.net 2008 ke server database PostgreSQL. Sebelum memulai membahas, ada baiknya menjelaskan ketentuan awal.
  • Server database PostgreSQLsudah terinstal
  • Koneksi pada contoh program yang disediakan menggunakan server localhost ; port:5432
OK, mari kita lanjut ke pokok pembahasan.
Seperti halnya koneksi vb.net ke server database pada umumnya, koneksi ke server database PostgreSQL juga memerlukan sebuah konektor .net provider yang berguna untuk membantu dalam menjembatani antara program vb.net yang akan kita buat dengan server database. Setelah bertanya dengan om google, akhirnya jatuhlah pilihan terhadap Npsql (http://npgsql.projects.postgresql.org/). Konektor ini dikembangkan dengan menggunakan bahasa C# dan kompatibel penuh dengan database posgre 7.x dan versi diatasnya. Apabila hanya ingin tinggal pakai saja, maka Npsql dapat di unduh melalui link ini.
Setelah mendapatkan file .net provider Npsql, ada baiknya file tersebut di letakan di folder yang sama di mana file .exe dari program yang akan dibuat berada. Sebagai contoh, pada proses pembuatan aplikasi berbasis .net masih berstatus debug, oleh karena itu file .net provider Npsql dapat diletakan pada folder Debug.


Apabila dikemudian hari, status dari program yang dibuat ingin beralih ke Release, maka jangan lupa untuk menyertakan ke-4 file tersebut.

Sekarang kita mulai pengaturan di bagian VB.net 2008, setelah membuat project baru, maka tambahan referensi baru pada aplikasi tersebut.


Pilih bagian Browse dan arahkan ke folder dimana file-file dari Npsql.dll berada.


Kemudian, pada form yang akan digunakan, jangan lupa juga tambahankan perintah Imports Npsql.


Imports Npsql


Perihal urusan Connection String, aku menggunakan perintah sebagai berikut ini :


str1 = String.Format("Server={0};Port={1};User Id={2};Password={3};Database={4};", "localhost", "5432", "postgres", "postgres", "coba")

Connection String tersebut merupakan connection string yang digunakan jika pada sisi server sudah terdapat database. Jika pada sisi server belum ada database yang dituju, maka dapat menggunakan connection string berikut ini :


str2 = String.Format("Server={0};Port={1};User Id={2};Password={3};", "localhost", "5432", "postgres", "postgres")

Sedangkan untuk urusan koneksi ke database, dapat menggunakan sub rutin berikut ini :


'digunakan setelah database dibuat
Public Function KonekFB1() As Boolean
    If conn.State = ConnectionState.Open Then
        conn.Close()
    End If
    conn.ConnectionString = str1
    Try
        conn.Open()
        cmd.Connection = conn
        Return True
    Catch ex As Exception
        conn.Close()
        Return False
    End Try
End Function)

Setelah terkoneksi, maka untuk melakukan query dan menampilkan data ke dalam datagrid dapat menggunakan sub rutin berikut ini :


Public Function ViewTabel(ByVal namadatatable As String, ByVal namaDG As DataGridView, ByVal query As String) As Boolean
    If conn.State = ConnectionState.Open Then
        conn.Close()
    End If
    conn.ConnectionString = str1
    Try
        conn.Open()
        cmd.Connection = conn
        cmd.CommandText = query
        dspg = New DataSet("namadataset")
        dapg = New NpgsqlDataAdapter(cmd)
        dapg.Fill(dspg, namadatatable)
        namaDG.DataSource = dspg.Tables(namadatatable)
        namaDG.AutoGenerateColumns = True
        conn.Close()
    Catch ex As Exception
        conn.Close()
    End Try
End Function


Kemudian lakukan pemanggilan untuk sub-rutin KonekFB1() dan ViewTabel()


'melakukan koneksi dengan postgre server
KonekFB1()

'melakukan query table dan menampilkan ke dalam datagrid
ViewTabel("coba1", dg, "select * from " & Chr(34) & "TABLE1" & Chr(34))


Rutin untuk pembuatan database secara runtime adalah sebagai berikut ini :


Private Sub cmd_CreateDB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_CreateDB.Click
    If CmdSQL2("CREATE DATABASE " & Chr(34) & "coba" & Chr(34) & " With Owner = postgres ENCODING = 'UTF8' TABLESPACE = pg_default CONNECTION LIMIT = -1") = False Then MsgBox("Periksa kembali nama database, pastikan nama database belum terdaftar di server")
End Sub

Rutin untuk pembuatan table secara runtime adalah sebagai berikut ini :


Private Sub cmd_CreateTable_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_CreateTable.Click
    If CmdSQL1(" CREATE TABLE " & Chr(34) & "TABLE1" & Chr(34) & "(" & _
                 Chr(34) & "Column1" & Chr(34) & " integer NOT NULL," & _
                 Chr(34) & "Column2" & Chr(34) & " character(20)," & _
                 "CONSTRAINT " & Chr(34) & "LOGGER_pkey" & Chr(34) & " PRIMARY KEY (" & Chr(34) & "Column1" & Chr(34) & " ));") = False Then MsgBox("Periksa kembali nama tabel, pastikan nama tabel belum terdaftar di database")
End Sub

Rutin untuk pengisian data dummy adalah sebagai berikut ini :

Private Sub cmd_CreateDataDummy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_CreateDataDummy.Click
    Dim baris1 As Integer = 0
    Dim baris2 As String = Nothing
    For i = 0 To 99
        baris1 += 1
        baris2 = "Baris" & baris1
        If CmdSQL1(" INSERT INTO " & Chr(34) & "TABLE1" & Chr(34) & " VALUES (" & baris1 & ",'" & baris2 & "')") = False Then
            MsgBox("Periksa kembali nama tabel, pastikan nama tabel belum terdaftar di database")
            Exit For
        End If
    Next
    ViewTabel("coba1", dg, "select * from " & Chr(34) & "TABLE1" & Chr(34))
End Sub


Berikut ini tampilan dari program yang telah tersebut.


Adapun data tersebut dapat dilihat pada program pgadmin (GUI untuk database PostgreSQL)


Related Posts Plugin for WordPress, Blogger...
Award Pertama
Photobucket
Langganan Artikel Si Boersan :

Enter your email address:

Delivered by FeedBurner

Monggo Di Copy Linknya :
Text Link

Banner Link

Komunitas Blogger Indonesia Komunitas Blogwalking