all groups > sql server replication > february 2006 >
You're in the

sql server replication

group:

Merge Snapshot execution does not create any BCP files for data tables.


Merge Snapshot execution does not create any BCP files for data tables. klineb
2/25/2006 8:40:22 PM
sql server replication:
Good Day,

After running Merge Snapshot Subscription Job No BCP files are created
for the data tables:

here is my code for the Merge Articles:
---------------------------------------------------
Dim lbResult As Boolean

Dim lobjMArt As MergeArticle2
Dim lbHasIdentity As Boolean

Set lobjMArt = New MergeArticle2

lobjMArt.Name = asTableName
lobjMArt.SourceObjectName = asTableName
lobjMArt.SourceObjectOwner = "dbo"

UpdateLog "CreationScriptOptions Default Value is: " &
lobjMArt.CreationScriptOptions

If abHasIdentity Then
lobjMArt.AutoIdentityRange = True
lobjMArt.PublisherIdentityRangeSize = 1000000
lobjMArt.SubscriberIdentityRangeSize = 1000000
lobjMArt.IdentityRangeThreshold = 85
End If

pobjSQLDMOMerge.MergeArticles.Add lobjMArt

Set lobjMArt = Nothing

lbResult = True
---------------------------------------------------

The Job History Shows:

bulk copying snapshot data for article [TableName] (0 rows).

This is shown for all tables. 90 % of my tables contain records. For
Example the Patient Table has 675 records.

What am i Missing?

Thanks In Advance.
Brian
Re: Merge Snapshot execution does not create any BCP files for data tables. klineb
2/25/2006 9:17:31 PM
The agent just ran and created the bcp files.

The agent is scheduled to run @ 12:00 am. Why did it work through
scheduled execution and not through code.

Am I missing something from this code:

Dim lbResult As Boolean
Dim lsErrSource As String

Dim lsJobID As String

Dim liX As Long

Dim lobjDis As SQLDMO.Distributor2
Dim lobjDisPubs As SQLDMO.DistributionPublishers
Dim lobjDisPub As SQLDMO.DistributionPublication2

Dim lobjJobs As SQLDMO.Jobs
Dim lobjJob As SQLDMO.Job


Dim loJobHis As SQLDMO.JobHistoryFilter
Dim loQR As SQLDMO.QueryResults2

Dim liY As Integer 'Rows

UpdateLog "Refresh Snapshot Function"

'===Load an Default Vars
lsErrSource = "clsPublisher.RefreshSnapShot"

'===Parse the Connection String:
If ParseConnectionString(asConnect) Then
If ConnectToServer() Then

'pobjSQLServer now equals the Sever object.
'We need to get a copy of the Publication DB.
Set lobjDis = pobjSQLServer.Replication.Distributor
Set lobjDisPubs = lobjDis.DistributionPublishers
'Set lobjDisPub =
lobjDis.DistributionPublishers(psPubServer).DistributionPublications.Item("Promise:Promise")
Set lobjDisPub =
lobjDisPubs(psPubServer).DistributionPublications.Item(1)

UpdateLog ("DisPub Name: " &
lobjDisPubs(psPubServer).DistributionPublications.Item(1).Name)

lsJobID = lobjDisPub.SnapshotJobID
psJobName = lobjDisPub.SnapshotAgent


Set lobjDisPub = Nothing
Set lobjDisPubs = Nothing
Set lobjDis = Nothing

Set lobjJobs = pobjSQLServer.JobServer.Jobs
'Get the Job to Start it.

UpdateLog ("Job Info: ID:" & lsJobID & " Name: " &
psJobName)

Call SaveSetting("Horizon Healthware Inc", "Promise",
"ReplicationJobName", psJobName)

Set lobjJob = lobjJobs.Item(psJobName)
UpdateLog ("Job: Starting Job.")
lobjJob.Invoke

liX = 0


lobjJob.Refresh

Do While lobjJob.CurrentRunStatus <>
SQLDMOJobExecution_Idle
liX = liX + 1

If liX = 200000 Then
lobjJob.Refresh
DoEvents
liX = 0
End If

Loop

' loJobHis.JobName = asJobName
' loJobHis.OldestFirst = False
'
' Set loQR =
pobjSQLServer.JobServer.EnumJobHistory(loJobHis)
'
' liX = 1
'
'
' For liX = 1 To loQR.Columns
' 'UpdateLog ("Job History ColumnName :" &
loQR.ColumnName(liX) & " Value:" & loQR.GetColumnString(1, liX))
'
' Next

Set loQR = Nothing
Set loJobHis = Nothing


Set lobjJob = Nothing
Set lobjJobs = Nothing

Call DisconnectFromServer

lbResult = True


Else
Err.Raise hhwErrorNum.lErrUnableToConnectToServer,
lsErrSource, ptErrorDesc.sErrParsingConnectionString
End If

Else
lbResult = False
Err.Raise hhwErrorNum.lErrParsingConnectionString, lsErrSource,
ptErrorDesc.sErrUnableToConnectToServer
End If

Thanks
Brian
AddThis Social Bookmark Button