Link Database Oracle to SQL Server

 


Sebelum membuat link database Oracle to SQL Server, maka perlu melakukan install OLEDB Oracle Connection, untuk itu bisa baca pada artikel : Install Oracle Database Client  yang secara otomatis akan terinstall OLEDB Oracle tersebut.

Berikut adalah cara membuat link dataase Oracle to SQL Server  :

1. Membuat Link Server

1.1. Bula SQL Server Management, lalu pilih Server Object --> Linked Server --> klik kanan, pilih New Linked Server


1.2.  Pada menu General , isikan data seperti gambar dibawah :


1.3.  Pilih menu Security , lalu pilih be made using the security context, dan masukan user dan password dari oracle yang diberikan, lalu klik OK


1.4.  Setelah itu, maka muncul link database yang dibuat


1.5. Kemudian klik kanan, pilih Test Connection




1. 6. Setelah itu sudah bisa melakukan query, seperti sintak dibawah :


Sintak untuk melihat isi table :

SELECT * FROM OPENQUERY([DBLNK_TEST] , 'select sysdate from dual') ;


2. Menggunakan OPENQUERY  untuk mengakses database oracle dari SQL Server

Format :

[Administration].[CreateStdLinkedServer] (
    @LinkedServerName   SYSNAME,
    @ServerProduct      nvarchar(128),
    @DataSource         nvarchar(4000),
    @IdentityForwarding varchar(8) = 'true',
    @Username           SYSNAME,
    @Password           SYSNAME,
    @debug              TINYINT = 0
)

Contoh :

EXEC [dbo].[CreateStdLinkedServer] @LinkedServerName = 'DBLNK_TEST', @ServerProduct = 'Oracle', @DataSource = 'TESTSRV', @IdentityForwarding = 'FALSE', @Username = 'sdsq', @Password = 'sdqsqs', @debug = 1 ;

Baca juga artikel yang berkaitan :


Install Oracle Database Client

 


Berikut adalah cara Install Oracle Client  :

1. Install Oracle Client

1.1. Downlod Oracle Client pada website Oracle. Double klik pada file ( setup.exe ) download tersebut



1.2. Pilih Custom 


1.3.  Kemudian pilih bahasa, lalu klik Suivant ( Next )


1.4. Klik Suivant ( Next )


1.5. Centang seperti gambar dibawah lalu klik Suivant ( Next )


1.6. klik Suivant ( Next )


1.7. Klik Annuler ( Finish )



1.8.  Setelah selesai installasi maka akan terlihat OLEDB Oracle sebagai Provider Connection



2. Configure the Oracle Net

2.1.  Tambahkan file sqlnet.ora

NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME)

NAMES.DEFAULT_DOMAIN = LOCALDOM

SQLNET.EXPIRE_TIME = 30

 

2.2.  Edit File tnsnames.ora

TESTSRV.LOCALDOM =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = (PROTOCOL = TCP)(HOST = TestSrv.st.chulg)(PORT = 1521))

   )

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = TESTSRV.LOCALDOM)

   )

 )

2.3.  Tes TNSNAMEs jalan atau tidak

Buka cmd , lalu ketikan : tnsping TESTSRV




Baca juga artikel yang berkaitan :

Migrasi Database Access to MySQL


Sebelum melakukan migrasi dari Microsoft Access ke MySQL, maka perlu membuat ODBC Microsoft Access, oleh karena itu silahkan baca caranya di artikel : Setting ODBC Microsoft Access di Windows 
 

Berikut adalah cara Migrasi Database Access ke MySQL :

1.Open dan Connect MySQL

1.1. Buka MySQL Workbench 

1.2. Setelah itu masuk ke instance Server MySQL yang mau digunakan untuk migrasi 


2. Migrasi 

2.1. Pilih menu Plugin, lalu Source & Target --> Reverse Engineer Source  lalu klik Next 



2.2. Pilih tab Source Object . kemudian pada Migrasi Table objects klik Show Selection”



2.3.  Pilih table yang ada dikiri lalu klik panah ke kanan sampai semua table terpilih




3. Tinjau proses Migrasi

3.1. Pilih Manual Editing



3.2. Untuk memeriksa dan mengedit kode MySQL yang dihasilkan yang sesuai dengan item yang dipilih, klik opsi "Show Code".

3.3. Untuk mengubah nama objek klik 2x pada baris di objek table, atau nama baris database dengan klik 2x di atasnya.


3.4. Untuk memodif Kolom juga tersedia di kotak comboDisini dapat mengevaluasi dan memperbaiki  tipe data, nilai default, dan atribut lain



4.  Buat Objek Database

4.1. Pilih tab Target Creation Options


4.2.  Pada tahap ini dapat mengeksekusi kode yang dibuat di RDBMS target (instance MySQL dari langkah kedua ) atau membuang ke file skrip SQL menggunakan opsi pembuatan target. Setelah itu lanjutkan ke halaman berikut, biarkan seperti yang ditunjukkan pada gambar sebelumnya. Di server MySQL tujuan, kode SQL yang dimigrasikan akan dijalankan. Halaman Buat schemas and object, 


4.3.  Setelah schemas and object dibuat,  lanjutkan ke halaman Buat Hasil Target. Ini menunjukkan daftar objek yang dibuat, serta kesalahan yang terjadi selama proses pembuatan.


Perbarui kode migrasi di kotak kode di sebelah kanan, lalu klik “Apply” untuk menyimpan perubahan Jika perubahan dibuat, maka harus membuat ulang objek menggunakan kode baru untuk membuat perubahan.  lalu klik Recreate Objects


5.  Transfer  Data ke MySQL Database

5.1. Pilih Tab Data Transfer Setup


Ada dua pilihan yang tersedia untuk transfer data :

1. Mengirim data secara real-time dan/atau membuangnya ke file batch,  yang dapat dijalankan nanti.
2. pada pilihan ini dapat mengubah proses ini menggunakan rangkaian opsi lainnya.

5.2. Klik Next, lalu klik Finish



6.  Jalani Verifikasi

Buat queri database northwind menggunakan SQL Editor pada instance server MySQL. Jalankan queri :  SELECT * FROM northwind.customers 





Baca juga artikel yang berkaitan :

Querying Excel pada linked Database Server

 


Berikut adalah cara menampilkan data excel dengan Query di SQL Server :

1. Untuk menampilkan data dari Sheet1 dalam file Excel_Data.xlsx gunakan perintah :

SELECT * FROM EXCELDATA...[Sheet1$]

ketika menjalankan perintah diatas maka akan ada  pesan error :


Ini biasanya terjadi karena izin yang tidak diberikan.


2. Cara untuk mengatasi ini adalah, buka SQL Server Configuration Manager: : 



3. Pilih SQL Server yang dibuat linked server, lalu  klik kanan  kemudian klik Properties::



4.  Pilih  Built an account lalu pilih Local System, lalu klik Apply



5. Klik Yes 



6.  buka SQL Server Manage Studio sebagai administrator lalu jalankan perintah dibawah pada editor queri :

SELECT * FROM EXCELDATA...Sheet1$



7.  Untuk insert data dari Sheet1 gunakan perintah :

INSERT INTO dbo.SQLTable(ID,Name)
SELECT ID, Name FROM EXCELDATA...Sheet1$

Lalu jalankan select untuk melihat hasil :



Membuat Queri data Excel menggunakan Queri terdistribusi

Untuk mengakses data ke file Excel melalui SSMS tanpa membuat server link, gunakan fungsi Transact-SQL OPENROWSET dan OPENDATASOURCE.

1. Menggunakan OPENROWSET
 
1.1. Untuk membuat koneksi dan queri data dari data Excel menggunakan fungsi OPENROWSET ketik kode SQL berikut pada editor queri:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\Test\Excel_Data.xlsx;', 'SELECT * FROM [Sheet1$]')

Perintah di atas, maka menampilkan error  :



1.2. Untuk mengatasi hal tersebut, gunakan / jalankan RECONFIGURE WITH OVERRIDE fungsi dari RECONFIGURE:

EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
RECONFIGURE WITH OVERRIDE

1. 3. Setelah itu jalankan perintah dibawah kembali :

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\Test\Excel_Data.xlsx;', 'SELECT * FROM [Sheet1$]')



2. Menggunakan OPENDATASOURCE

SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
  'Data Source=C:\Test\Excel_Data.xlsx;Extended Properties=Excel 12.0')...[Sheet1$]




Baca juga artikel yang berkaitan :

Link Microsoft Excel to SQL Server

 

Untuk mengimpor data dari file Excel (Excel 2007 (xlsx) atau versi diatas ke SQL Server, driver Microsoft.ACE.OLEDB.12.0 OLE DB harus diinstal. Driver Microsoft.ACE.OLEDB.12.0 OLE DB dapat digunakan pada SQL Server edisi 32-bit untuk file Excel 2007, atau yang lebih baru, atau pada edisi SQL Server 64-bit untuk file Excel apa pun.

Ada satu penyedia lagi; Microsoft. Jet. OLEDB.4.0 yang dapat digunakan pada SQL Server edisi 32-bit untuk file Excel 2003 ( versi dibawah ).

Untuk melihat daftar driver connection yang tersedia di SQL Server dapat dilihat di bawah folder Providers:


Download dan menginstal driver Microsoft.ACE.OLEDB.12.0 OLE DB. Ada dua versi driver Microsoft.ACE.OLEDB.12.0 OLE DB yang dapat diinstal:

  • AccessDatabaseEngine.exe adalah untuk SQL Server versi 32-bit
  • AccessDatabaseEngine_X64.exe adalah untuk SQL Server versi 64-bit


Catatan : Jika AccessDatabaseEngine_X64.exe telah diinstal, dan SQL Server versi 32-bit digunakan. maka akan muncul error untuk queri data Excel :


Jika AccessDatabaseEngine sudah diinstal sesuai OS Bit tersebut,  maka Microsoft.ACE.OLEDB.12.0 OLE DB akan muncul dalam daftar folder Providers di SQL Server:



Setelah itu adalah melakukan pembuatan link :

1. Pada folder Linked Servers --> Providers --> Microsoft.ACE.OLEDB.12.0 kemudna klik kanan pilih New Linked Server:


2. Setelah itu akan muncul dialog New Linked Server:


3. Pilih Others data source, lalu pilih OLE DB Microsoft Office 12.0 Access Database Engine:


4.  Pada kolom pada dialog New Linkded Server 

  • Linked server : EXCELDATA  untuk ditambahkan sebagai server link (mis. Excel). 
  • Product name : Excel
  • Data source : path lengkap dan nama file dari file Excel (C:\Test\Excel_Data.xlsx).
  • Provider string :  : Excel 12.0:


Catatan : jika menggunakan file Excel 97-2003 (.xls), di kolom Provider string harus memasukkan “Excel 8.0”. Karena kalau salah memasukan nama di kolom Provider string, maka akan muncul error :


5. Selanjutnya klik OK jika sudah benar mengisikan data diatas, maka akan muncul Linked Servers : EXCELDATA


Tetapi ketika klik EXCELDATA untuk mencari Tables dari database tersebut, akan muncul error :


6. Untuk mengatasi error tersebut , tutup SQL Server Management Studio (SSMS) dan jalankan lagi, sebagai administrator:


7. Klik Linked Servers : EXCELDATA maka akan muncul  lembar Excel. Perhatikan bahwa setiap lembar ditampilkan sebagai tabel SQL Server dengan tanda dolar ($) di akhir:



Keterangan :

Untuk membuat linked server Excel bisa juga menggunakan sintak seperti dibawah :

EXEC sp_addlinkedserver

     @server = N'EXCELDATA',

     @srvproduct = N'Excel',

     @provider = N'Microsoft.ACE.OLEDB.12.0',

     @datasrc = N'C:\Test\Excel_Data.xlsx',

     @provstr = N'Excel 12.0';



Baca juga ertikel yang berkaitan :