Better yet, here is a little code snipped I use to do nearly the same thing. I replicate data from MF DB2 into Access.
Just modify the queries to quit your needs.
Code:
Option Explicit
Dim adoDB2Connection, adoDB2RecordSet
Dim adoJetConnection, adoJetCommand, strDBPath
Dim objScript, strPathToMDB, strTempDB
Dim SQLSelectStatement
Const adCmdText23996 = &H0001
' Specify Access database file.
strDBPath = "D:\InetPub\WWWRoot\website.mdb"
' Open connection to DB2 database.
Set adoDB2Connection = CreateObject("ADODB.Connection")
Set adoDB2RecordSet = CreateObject("ADODB.Recordset")
adoDB2Connection.ConnectionString = "Provider=MSDASQL; DSN=DM1Q; UID=myuid; PWD=mypass;"
adoDB2Connection.Open
SQLSelectStatement=" SELECT * FROM DGT02T.PROD_STAT "
adoDB2Recordset.Open SQLSelectStatement, adoDB2Connection
' Open connection to MS Access database.
Set adoJetConnection = CreateObject("ADODB.Connection")
adoJetConnection.ConnectionString = "DRIVER=Microsoft Access Driver (*.mdb);" _
& "FIL=MS Access;DriverId=25;DBQ=" & strDBPath & ";"
adoJetConnection.Open
' ADO command object to insert rows into Access database.
Set adoJetCommand = CreateObject("ADODB.Command")
Set adoJetCommand.ActiveConnection = adoJetConnection
adoJetCommand.CommandType = adCmdText23996
' Read the Db2 Data.
Do Until adoDB2Recordset.EOF
' Insert a row into the Access database.
adoJetCommand.CommandText = "INSERT INTO ProdJobAbend " _
& "(ID, [DATE], [TIME], SYSID, JOB, PROGRAM, STEPNAME, APPLICATION, PGMPSNAM, TERMCODE) " _
& "VALUES (" _
& "'" & adoDB2Recordset.Fields("PROD_ABEND_ID").Value & "', " _
& "'" & adoDB2Recordset.Fields("DT_DT").Value & "', " _
& "'" & adoDB2Recordset.Fields("TM_TXT").Value & "', " _
& "'" & adoDB2Recordset.Fields("SYS_ID_TXT").Value & "', " _
& "'" & adoDB2Recordset.Fields("JOB_TXT").Value & "', " _
& "'" & adoDB2Recordset.Fields("PGM_TXT").Value & "', " _
& "'" & adoDB2Recordset.Fields("STEP_NM_TXT").Value & "', " _
& "'" & Replace(adoDB2Recordset.Fields("APPLCTN_TXT").Value, "'", "-") & "', " _
& "'" & adoDB2Recordset.Fields("PGM_NM_TXT").Value & "', " _
& "'" & adoDB2Recordset.Fields("TERM_CD_TXT").Value & "')"
adoJetCommand.Execute
adoDB2Recordset.MoveNext
Loop
' Clean up.
adoDB2Recordset.Close
adoDB2Connection.Close
adoJetConnection.Close
Quote:
Originally Posted by dr_te_z
That's the MS-approach. Try to make an ODBC connection using db2 commands. That's the IBM DB2 approach.
Who knows ...
|