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

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...

Download Crystal Report untuk Microsoft Visual Studio

Crystal Report adalah salah satu tool yang digunakan oleh banyak programmer dalam hal pembuatan reporting, selain mudahnya cara penggunaan tool ini juga termasuk tool yang efektif dalam hal pembuatan berbagai jenis laporan. Berikut ini adalah link untuk mendownload crystal report for microsoft visual studio: http://scn.sap.com/docs/DOC-7824

Cara menggunakan OPENROWSET pada SQL Server, berguna untuk mengambil data dari server lain

Koneksi antar database di SQL Server dalam satu query: untuk melakukan query antar database dengan 1 kali perintah kita bisa menggunakan beberapa cara salah satunya adalah menggunakan open rowset selain menggunakan Linked Server : contoh setruktur query penggunaan openrowset: SELECT a.* FROM OPENROWSET('SQLOLEDB', 'namaservertujuan';'userid';'password', 'SELECT * FROM namadatabase.dbo.namatable ') AS a sebelum kita menggunkan openrowset kita harus mengaktifkan dahulu " Ad Hoc Distributed Queries"   kalau tidak maka akan keluar pesan: SQL Server blocked access to STATEMENT 'OpenRowset/OpenDatasource' of component 'Ad Hoc Distributed Queries' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ad Hoc Distributed Queries' by using sp_configure. For more information about enabling 'Ad Hoc Distributed Que...