Skip to main content

Menyamakan Field Diantara 2 tabel dan 2 server

Dulu saya pernah diminta membuat program, dengan dua database tetapi database tersebut diharuskan sama-sama memiliki nama field dalam suatutable, dalam kenyataannya hanya salah satu database umpamanya database 
Tujuan dari Source dan Query SQL ini adalah, digunakan untuk menyamakan field dalam suatu table diantara dua database dengan server yang berbeda pula umpamanya ServerFrom.dbo.TableF ke ServerTo.dbo.TableT




utuk source code vb6 dan sqlserver saya menggunakan metode ini

Private Sub CekDataField(ByVal tabelnya As String)
Dim CNNP As New ADODB.Connection
Set rsS = New ADODB.Recordset
Set rsS1 = New ADODB.Recordset
Dim IDFrom, IDTo As String
Dim NamaField, namaTipe As String
Dim tipestatField, tipeuserField, lengthField As Integer
On Error GoTo ERR

c_InitialCatalogKey = ";Initial Catalog='" & DinT & "'"
c_DataSourceFrom = ";Data Source=" & ServerT
c_ConnStringKey = c_Provider & c_InitialCatalogKey & c_DataSourceFrom '& c_trusted
cSQL = "select name,id from [ " & ServerF & "].[" & DinF & "].[dbo].[sysobjects] where name ='" & tabelnya & "'"
rsS.Open cSQL, _
c_ConnStringKey, adOpenStatic, adLockReadOnly
If Not rsS.EOF Then
rsS.MoveFirst
IDFrom = rsS.Fields!id
rsS.MoveNext
End If
If rsS.State Then rsS.Close

rsS.Open "select name,id from [ " & ServerT & "].[" & DinT & "].[dbo].[sysobjects] where name ='" & tabelnya & "'", _
c_ConnStringKey, adOpenStatic, adLockReadOnly
If Not rsS.EOF Then
rsS.MoveFirst
IDTo = rsS.Fields!id
rsS.MoveNext
End If
If rsS.State Then rsS.Close

cSQL = "select * from openquery([" & ServerF & "],'select id,name,typestat,xusertype,length from " & DinF & ".dbo.syscolumns where id=''" & IDFrom & "''')" & _
" where name not in (select name from " & DinT & " .dbo.syscolumns where id='" & IDTo & "')"""

rsS.Open cSQL, c_ConnStringKey, adOpenStatic, adLockOptimistic
If Not rsS.EOF Then
rsS.MoveFirst
While Not rsS.EOF
NamaField = rsS.Fields!Name
tipestatField = rsS.Fields!typestat
tipeuserField = rsS.Fields!xusertype
lengthField = rsS.Fields!length
rsS1.Open "select name from " & DinT & " where xusertype ='" & tipeuserField & "'", c_ConnStringKey, adOpenStatic, adLockOptimistic
If Not rsS1.EOF Then
rsS1.MoveFirst
namaTipe = rsS.Fields!Name
rsS1.MoveNext
End If
If rsS1.State Then rsS1.Close
AlterTable "& tabelnya &", "& NamaField &", "& namaTipe &", (lengthField / tipestatField), c_ConnStringKey
rsS.MoveNext
Wend
End If
MDIfrmMenuUtama.StatusBar.Panels(1).Text = cSQL

If rsS.State Then rsS.Close
If CNNP.State Then CNNP.Close
Set rsS = Nothing
Set CNNP = Nothing

On Error GoTo 0
Exit Sub
ERR:
MsgBox "Error " & ERR.Number & " (" & ERR.Description & ") in procedure PindahDataPokok of Form frm_pindahdata", vbCritical
MDIfrmMenuUtama.StatusBar.Panels(1).Text = ""
statusN = False
End Sub

Comments

Popular posts from this blog

Menampilan Line Number/Nomor Urut pada SQL Server Text Editor

Jikalau kita membuka editor seperti notepad ++ kita akan menemukan line editor atau bahasa indonesia nomor urut untuk memudahkan jika ada error coding dan menyebutkan nomor urut keberapa error tersebut, untuk menampilkan line number pada SQL Server caranya cukup mudah yaitu: buka dulu SQL Server Management Studio 1. Step1: Tool-->Option 2.  Step2: didalam Options dialog box klik ke Text Editor > Transact-SQL > General 3. Step 3: Check “Line Numbers” dan klik “OK” hasilnya:

Install Nuget Package Manager di Microsoft Visual Studio 2010

Package Manager Console digunakan untuk memudahkan developer dalam menginstall berbagai jenis tool secara online yang digunakan untuk mensuport pengerjaan project. untuk melakukan intalasi Package Manager Console adalah : 1. Buka Microsoft Visual Studio 2010, lalu masuk ke menu Tool-->Extension Manager 2. Klik Online Galery, lalu klik download "Nuget Package Manager" 3. Tunggu hingga instalasi selesai dan Microsoft Visual Studio 2010 akan meminta untuk di restart dan pilih restart, Package Manager Console dapat digunakan

Cara membuat Linked Server pada SQL Server untuk query antar database server

Jika kita memiliki 2 database server dan menginginkan untuk melakukan Transact-SQL   antar tabel didua database server yang berbeda tersebut, kita dapat menggunakan Linked Server, selain menggunakan cara Openrowset dan ada berbagai jenis database yang dapat di Linked Server ini seperti Oracle, bahkan Ms.Acess dan Excel. Beberapa kelebihan Linked Server : Kemampuan untuk mengakses data dari SQL Server yang lain. Kemampuan untuk mengeksekusi Query, update, command, dan transaksi pada sumber data yang heterogen di seluruh perusahaan. Kemampuan untuk mengatasi sumber data yang beragam pula. ada beberapa cara yang penulis pahami untuk melakukan konfigurasi linked server yaitu: menggunakan perintah  sp_addlinkedserver USE [master] GO --perintah menghapus linked server jika ada EXEC master.dbo.sp_dropserver @server=N'namalinkedservernya', @droplogins='droplogins' GO --perintah membuat linked server EXEC master.dbo.sp_addlinkedserver @server = N'nam