upload data excell ke oracle 9i lwt vb.net

Forum diskusi membahas semua mengenai Oracle Server (PL/SQL)

Moderator: trail

upload data excell ke oracle 9i lwt vb.net

Postby elifmails » 21 Sep 2011, 17:24

bos ada yang tau atau bisa upload data dari excell ke oracle g?
plisssss
elifmails
Prajurit Dua
Prajurit Dua
 
Posts: 11
Joined: 21 Sep 2011, 17:20
Memberi kopi: 0 cangkir
Mendapat kopi: 0 cangkir

Re: upload data excell ke oracle 9i lwt vb.net

Postby ariartama » 21 Sep 2011, 17:34

elifmails wrote:bos ada yang tau atau bisa upload data dari excell ke oracle g?
plisssss

Mod ada yang langgar nih.. :D
Perkenalan dulu bos disini : http://www.i-bego.com/profile/
\m/
Silahkan yang mau memperpanjang tali silaturahmi :
http://www.facebook.com/ariartama
User avatar
ariartama
Kopral Dua
Kopral Dua
 
Posts: 645
Joined: 06 May 2010, 18:59
Location: Sondari.com
Memberi kopi: 34 cangkir
Mendapat kopi: 60 cangkir

Re: upload data excell ke oracle 9i lwt vb.net

Postby vberror13 » 01 Oct 2011, 13:48

elifmails wrote:bos ada yang tau atau bisa upload data dari excell ke oracle g?
plisssss

Algoritmanya kan sederhana aja, oom:
a. Buka file excel, ambil data yang diinginkan dan simpan sementera di memori. Tutup file excelnya.
b. Buka koneksi ke Oracle, masukkan data yang diambil dari excel tadi, tutup koneksi ke Oracle.

Nah, bagian mana nih yang si oom masih bingung?
:ymbilly: :ymbilly: :ymbilly: =:) :ymbilly:
Just Because You Are Unique, Doesn't Mean You Are Useful
User avatar
vberror13
Global Moderator
Global Moderator
 
Posts: 1847
Joined: 13 Mar 2010, 20:34
Location: Medan Indonesia
Memberi kopi: 296 cangkir
Mendapat kopi: 321 cangkir

Re: upload data excell ke oracle 9i lwt vb.net

Postby elifmails » 01 Oct 2011, 13:55

vberror13 wrote:
elifmails wrote:bos ada yang tau atau bisa upload data dari excell ke oracle g?
plisssss

Algoritmanya kan sederhana aja, oom:
a. Buka file excel, ambil data yang diinginkan dan simpan sementera di memori. Tutup file excelnya.
b. Buka koneksi ke Oracle, masukkan data yang diambil dari excel tadi, tutup koneksi ke Oracle.

Nah, bagian mana nih yang si oom masih bingung?



IYA OM,,,,ITU LOGIKANYA YA,,,,MASALAHNYA SAYA BLM TAU CODINGNYA BUAT AMBIL DATA DARI EXCELLNYA

KEBANYAKAN YG SAYA BACA IMPORT EXCELL KE DATABASE ACCESS

SAYA COBA PKE CODING ACCESS TSB DG SAYA RUBAH KE ORACLECLIENT MSH G MAU OMMMM?
elifmails
Prajurit Dua
Prajurit Dua
 
Posts: 11
Joined: 21 Sep 2011, 17:20
Memberi kopi: 0 cangkir
Mendapat kopi: 0 cangkir

Re: upload data excell ke oracle 9i lwt vb.net

Postby vberror13 » 01 Oct 2011, 14:19

Ok, coba oom copy paste aja baris kode yang buat mengambil data dari excelnya ke sini. Nanti kan bisa didiskusikan bersama.
:ymbilly: :ymbilly: :ymbilly: =:) :ymbilly:
Just Because You Are Unique, Doesn't Mean You Are Useful
User avatar
vberror13
Global Moderator
Global Moderator
 
Posts: 1847
Joined: 13 Mar 2010, 20:34
Location: Medan Indonesia
Memberi kopi: 296 cangkir
Mendapat kopi: 321 cangkir

Re: upload data excell ke oracle 9i lwt vb.net

Postby elifmails » 01 Oct 2011, 15:04

Code: Select all
Try
            If TXTFILEPATH.Text.Trim = "" Then
                MsgBox("Cari file terlebih dahulu", MsgBoxStyle.Information, "Pesan kesalahan")
                Exit Sub
            End If
            Dim TempPath, TempFile As String
            TempFile = Mid(TXTFILEPATH.Text.Trim, InStrRev(TXTFILEPATH.Text.Trim, "\") + 1, Len(TXTFILEPATH.Text.Trim))
            TempPath = Microsoft.VisualBasic.Left(TXTFILEPATH.Text.Trim, (Len(TXTFILEPATH.Text.Trim) - Len(TempFile)))
            Dim cmd As OracleCommand = New OracleCommand
            cmd.CommandText = "INSERT INTO PESERTA1(KPR,NPP,NIP,NAMA,ALAMAT,KOTA) " & " SELECT * FROM [COBA$=" & TempPath & ";].[" & TempFile.Trim & "]"
            cmd.Connection = mycon.open()
            cmd.ExecuteNonQuery()
            mycon.close()
            MsgBox("Import Finish", MsgBoxStyle.Information, "Import")
        Catch ex As Exception
            MsgBox(ex.Message)
            mycon.close()
            Exit Sub
        End Try
--------------------------------------------------------------------------------------KL Q PKE INI PESAN ERORRNYA "INVALID TABLE NAME"
DAH Q COBA RUBAH2...PESANNYA TETAP SAMA
-------------------------------------------------------------------------------------

Try
            Dim MyConnection As System.Data.OracleClient.OracleConnection
            Dim DtSet As System.Data.DataSet
            Dim MyCommand As System.Data.OracleClient.OracleDataAdapter
            MyConnection = New System.Data.OracleClient.OracleConnection("user id=elif; password=111111;Data Source='c:\COBA.xls';")
            MyCommand = New System.Data.OracleClient.OracleDataAdapter("select * from [COBA$]", MyConnection)
            MyCommand.TableMappings.Add("COBA", "EXTENDED")
            DtSet = New System.Data.DataSet
            MyCommand.Fill(DtSet)
            DGV1.DataSource = DtSet.Tables(0)
            MyConnection.Close()
        Catch ex As Exception

            MsgBox(ex.Message)
            mycon.close()
            BLANK()
        End Try
---------------------------------------------------------------------------------KL PKE INI PSN ERORNYA "INVALID DRIVER DESIGNATOR"

KEDUA CODE DIATAS CM MSH SY COBA IMPORT KE DATAGRID,BLM K DATABASE ORACLE.
MOHON BANTUANNYA MASTER2....
elifmails
Prajurit Dua
Prajurit Dua
 
Posts: 11
Joined: 21 Sep 2011, 17:20
Memberi kopi: 0 cangkir
Mendapat kopi: 0 cangkir

Re: upload data excell ke oracle 9i lwt vb.net

Postby vberror13 » 01 Oct 2011, 15:23

Terus dari kode tersbut, yang baca file excelnya mana?

query:
Code: Select all
"INSERT INTO PESERTA1(KPR,NPP,NIP,NAMA,ALAMAT,KOTA) " & " SELECT * FROM [COBA$=" & TempPath & ";].[" & TempFile.Trim & "]"

Itu kan untuk menginsert data ke table Peserta1 dari table "tempPath.TempFile", yang mana table tersebut berasal dari table di Oracle juga.

Karena itu jelas aja terjadi error INVALID TABLE NAME, karena table "temppath.TempFile" itu memang belum ada di databasenya.

Harusnya, baca dulu file Excelnya, dan simpan di memori. Contoh membaca file excel seperti ini: How To Query and Display Excel Data by Using ASP.NET, ADO.NET, and Visual Basic .NET.
:ymbilly: :ymbilly: :ymbilly: =:) :ymbilly:
Just Because You Are Unique, Doesn't Mean You Are Useful
User avatar
vberror13
Global Moderator
Global Moderator
 
Posts: 1847
Joined: 13 Mar 2010, 20:34
Location: Medan Indonesia
Memberi kopi: 296 cangkir
Mendapat kopi: 321 cangkir

Re: upload data excell ke oracle 9i lwt vb.net

Postby elifmails » 01 Oct 2011, 15:31

vberror13 wrote:Terus dari kode tersbut, yang baca file excelnya mana?

query:
Code: Select all
"INSERT INTO PESERTA1(KPR,NPP,NIP,NAMA,ALAMAT,KOTA) " & " SELECT * FROM [COBA$=" & TempPath & ";].[" & TempFile.Trim & "]"

Itu kan untuk menginsert data ke table Peserta1 dari table "tempPath.TempFile", yang mana table tersebut berasal dari table di Oracle juga.

Karena itu jelas aja terjadi error INVALID TABLE NAME, karena table "temppath.TempFile" itu memang belum ada di databasenya.

Harusnya, baca dulu file Excelnya, dan simpan di memori. Contoh membaca file excel seperti ini: How To Query and Display Excel Data by Using ASP.NET, ADO.NET, and Visual Basic .NET.


IYA BOS,,,SALAH COMMENT,YANG ATAS Q IMPORT LGSG K DATABASE,N YG BAWAH K DATAGRID,TAPI BELUM BISA SEMUANYA :D
SAYA KUNJUNGI DULU DEH LINK NYA N SAYA TERAPKAN DULU
elifmails
Prajurit Dua
Prajurit Dua
 
Posts: 11
Joined: 21 Sep 2011, 17:20
Memberi kopi: 0 cangkir
Mendapat kopi: 0 cangkir

Re: upload data excell ke oracle 9i lwt vb.net

Postby vberror13 » 01 Oct 2011, 16:42

Gimana? dah selesai? ini saya bantu bikin fungsi untuk baca data dari excel dan pseudo kode untuk insert data ke oracle
Ini adalah console app, soalnya saya nggak tau si oom pake vs versi berapa. yang penting liat aja fungsi ReadExcelData(string) dan InsertToOracle(datatable), coba untuk memodifikasinya sesuai kebutuhan.

Code: Select all
Imports System.Data.OleDb
Module Module1

    Sub Main()
        Console.WriteLine("Full Excel file name:")
        Dim excelPath As String = Console.ReadLine()
        excelPath = excelPath.Trim()

        Dim dataExcel As DataTable = ReadExcelData(excelPath)

        If dataExcel Is Nothing Then
            Console.WriteLine("Press enter to exit.")
            Console.ReadLine()
            Exit Sub
        End If

        InsertToOracle(dataExcel)


        Console.WriteLine("Done!")
        Console.WriteLine("Press enter to exit.")
        Console.ReadLine()

    End Sub
    Private Function ReadExcelData(ByVal FilePath As String) As DataTable
        ' Create connection string variable. Modify the "Data Source" parameter as
        ' appropriate for your environment.
        '
        Dim objDataset1 As DataSet = Nothing
        'for excel <2007
        'Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _
        '            & "Data Source=" & FilePath _
        '            & ";" & "Extended Properties=Excel 8.0;"

        'for excel >=2007
        Dim sConnectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;" _
                    & "Data Source=" & FilePath _
                    & ";" & "Extended Properties=Excel 12.0;"

        ' Create the connection object by using the preceding connection string.
        Dim objConn As New OleDbConnection(sConnectionString)
        Try
            ' Open connection with the database.
        objConn.Open()

        ' The code to follow uses a SQL SELECT command to display the data from the worksheet.

            ' Create new OleDbCommand to return data from worksheet.
            Dim sqlQuery As String = "SELECT * FROM dataToExport"
            Dim objCmdSelect As New OleDbCommand(sqlQuery, objConn)

        ' Create new OleDbDataAdapter that is used to build a DataSet
        ' based on the preceding SQL SELECT statement.
        Dim objAdapter1 As New OleDbDataAdapter()

        ' Pass the Select command to the adapter.
        objAdapter1.SelectCommand = objCmdSelect

        ' Create new DataSet to hold information from the worksheet.

            objDataset1 = New DataSet
        ' Fill the DataSet with the information from the worksheet.
        objAdapter1.Fill(objDataset1, "XLData")
        objAdapter1.Dispose()

        Catch ex As Exception
            Console.WriteLine("Error ocurred:" & ex.Message)
        Finally
            If objConn.State = ConnectionState.Open Then
                objConn.Close()
            End If

        End Try

        If objDataset1 IsNot Nothing Then
            If objDataset1.Tables.Count > 0 Then
                Return objDataset1.Tables(0).Copy()
            End If

        End If

        Return Nothing
    End Function
    Private Function InsertToOracle(ByVal data As DataTable) As Boolean
        Dim KPR, NPP As String
        For Each r As DataRow In data.Rows
            KPR = r(0).ToString()
            NPP = r(1).ToString()

            ''shows data to console
            Console.WriteLine(KPR & vbTab & NPP)

            ''insert query
            Dim sqlInsert As String = "INSERT INTO PESERTA1(KPR,NPP,NIP,NAMA,ALAMAT,KOTA) " & _
                "VALUES (@KPR,@NPP,@NIP,@NAMA,@ALAMAT,@KOTA)"
            Dim dbCommand As New SqlClient.SqlCommand
            dbCommand.CommandText = sqlInsert
            dbCommand.Parameters.AddWithValue("@KPR", KPR)
            '...
            '....
            dbCommand.ExecuteNonQuery()

        Next
        Return False
    End Function
End Module



Pada File excelnya, data yang mau diimport dulu dibikin nama rangenya ("dataToExport"). Kode diatas telah dicoba dengan memakai excel 2007 dan oke aja. Jadi kalo pake excel versi sebelumnya dan ada kesalahan, coba aja ubah connection string ke excelnya.
:ymbilly: :ymbilly: :ymbilly: =:) :ymbilly:
Just Because You Are Unique, Doesn't Mean You Are Useful
User avatar
vberror13
Global Moderator
Global Moderator
 
Posts: 1847
Joined: 13 Mar 2010, 20:34
Location: Medan Indonesia
Memberi kopi: 296 cangkir
Mendapat kopi: 321 cangkir

Re: upload data excell ke oracle 9i lwt vb.net

Postby elifmails » 01 Oct 2011, 16:57

WAHHHH.....IYA BOS DG SDKT CODING YG BRRUMPUT SAYA HAPUS SKG UDAH BISA TAMPIL KE DATAGRID NIH,,,,OM VBERORR HBT <:-P =D>

MAKASIH KAMSIA BOS,,,,,

SKG TINGGAL INSERT JA DR DATA GRID K DATABASE.....OH IYA BOSSS,,,,DATA YG DIEXCELL TU FORMATNYA HRS TEXT SMUA ATAU GMN?KL BUAT DATE?
elifmails
Prajurit Dua
Prajurit Dua
 
Posts: 11
Joined: 21 Sep 2011, 17:20
Memberi kopi: 0 cangkir
Mendapat kopi: 0 cangkir

Next

Return to Oracle

Who is online

Users browsing this forum: No registered users and 1 guest