Drop Table

Support Forum for database administrators and web based access to important newsgroups related to databases
Register on Database Support Forum Edit your profileCalendarFind other Database Support forum membersFrequently Asked QuestionsSearch this forum -> 
For Database admins: Free Database-related Magazines Now Free shipping to Texas


Post New Thread










Thread
Author

Accessing publication properties from Visual Basic (VB6)
Hi all,

I have an existing application that checks a few things before it
launches another application. One thing that the application needs to
check is the subscription properties of both the local database and the
remote (LAN) server.

I've stumbled upon some properties but I am trying to fit in the last
ones and I can't seem to find the right code to accomplish this... Can
anyone shine a little light on this please ?

The following code queries the SQL Server (remote) to get (some of) the
properties of the replicated database. What I would like to fit in
after the 'state' are the properties that you can retrieve with the
 EnumAllSubscriptions
 function. However, I can't seem to find the right
object (sample code) to retrieve those (or I'm just overlooking the
obvious)...

Here is (part of) the code I'm using to query the publication on the
remote server :

Dim oMergePublication As SQLDMO.MergePublication2
Dim oSubscription As SQLDMO.MergeSubscription2

Me.lstPublications.Clear
For Each  oReplicationDatabase
 In
objSQLSERVER.Replication. ReplicationDatabases

If  oReplicationDatabase
.Name = Me. txtSQLServerDatabase
.Text
Then
For Each oMergePublication In
 oReplicationDatabase
.MergePublications
bFoundReplicated = True
Me.lstPublications.AddItem "Database replicated as
'" & oMergePublication.Name & "'"
For Each oSubscription In
oMergePublication.MergeSubscriptions
Me.lstPublications.AddItem "     - subscriber
:" & oSubscription.Subscriber
Me.lstPublications.AddItem "          - local
DB :" & oSubscription.SubscriptionDB
Me.lstPublications.AddItem "               -
state :" &  GetReplStatus(oSubsc
ription.Status)
Next
Next
'For Each osubscriber In  oReplicationDatabase
.
'Next
End If
Next
Set  oReplicationDatabase
 = Nothing
Set oMergePublication = Nothing

After this, I also want to check the local DB (=pulled subscription)
and show some of the properties (from  EnumAllSubscriptions
). For
example to warn the user about the need to synchronise (last_updated
value)...

Any help appreciated,

Many thanks

GB

--
Your eyes are weary from staring at the CRT. You feel sleepy. Notice
how restful it is to watch the cursor blink. Close your eyes. The
opinions stated above are yours. When I snap my fingers, you cannot
imagine why you ever felt otherwise. <snap>


Report this thread to moderator Post Follow-up to this message
Old Post
Gijs Beukenoot
06-21-05 06:23 PM


Re: Accessing publication properties from Visual Basic (VB6)
I'm not sure what you're asking - do you mean that you know that
 EnumAllScubscription
s will return the information you need, but you
don't know how to manipulate a SQL-DMO QueryResults object? If so, then
you need to iterate over it, and use the GetColumn% methods to return
the data in the format you want - in this case, GetColumnString is
probably the best one to use.

This is a simple VBScript example of using a QueryResults object:

Option Explicit

Dim oSrv, res, c, r

Set oSrv = WScript.CreateObject("SQLDMO.SqlServer2")
oSrv.LoginSecure = True
oSrv.Name = "MyServer"
oSrv.Connect

Set res = oSrv.ExecuteWithResults("select * from sysobjects")

For r = 1 To res.Rows
For c = 1 To res.Columns
If res.ColumnName(c) = "name" Then
WScript.Echo res.GetColumnString(r, c)
End If
Next
Next


If this isn't helpful, you might get a better answer in
microsoft.public.sqlserver.replication.

Simon


Report this thread to moderator Post Follow-up to this message
Old Post
Simon Hayes
06-22-05 08:23 AM


Re: Accessing publication properties from Visual Basic (VB6)
Sort of Simon,

I'm having difficulty to get the returnset from  EnumAllSubscriptions
 in
a workable object. It just returns nothing or won't compile.
In the code I've added, I managed to get the right call for the
 EnumAllSubscriptions
 but I'm not sure on the syntax it requires. Like :

Dim oSubscription as SQLDMO.Subscriber2
Dim oSubscriptionData as SQLDMO.<??>
For each oSubscriptiondata in
oSubscription. EnumAllSubscribers(S
 QLDMOSubscription_Al
l)

OR do I need to make something like
Dim Result
Dim oSubscription as SQLDMO.Subscriber2
Result = oSubscription. EnumAllSubscribers(S
 QLDMOSubscription_Al
l)
and then walk that Result for the correct data

Thanks anyway. I'll give this a try in the .repication group.

GB

Simon Hayes bracht volgend idée uit :
> I'm not sure what you're asking - do you mean that you know that
>  EnumAllScubscription
s will return the information you need, but you
> don't know how to manipulate a SQL-DMO QueryResults object? If so, then
> you need to iterate over it, and use the GetColumn% methods to return
> the data in the format you want - in this case, GetColumnString is
> probably the best one to use.
>
> This is a simple VBScript example of using a QueryResults object:
>
> Option Explicit
>
> Dim oSrv, res, c, r
>
> Set oSrv = WScript.CreateObject("SQLDMO.SqlServer2")
> oSrv.LoginSecure = True
> oSrv.Name = "MyServer"
> oSrv.Connect
>
> Set res = oSrv.ExecuteWithResults("select * from sysobjects")
>
> For r = 1 To res.Rows
> 	For c = 1 To res.Columns
> 		If res.ColumnName(c) = "name" Then
> 			WScript.Echo res.GetColumnString(r, c)
> 		End If
> 	Next
> Next
>
>
> If this isn't helpful, you might get a better answer in
> microsoft.public.sqlserver.replication.
>
> Simon

--
Your eyes are weary from staring at the CRT. You feel sleepy. Notice
how restful it is to watch the cursor blink. Close your eyes. The
opinions stated above are yours. When I snap my fingers, you cannot
imagine why you ever felt otherwise. <snap>


Report this thread to moderator Post Follow-up to this message
Old Post
Gijs Beukenoot
06-23-05 02:23 PM


Sponsored Links





Last Thread Next Thread
Post New Thread

Microsoft SQL Server forum archive

Show a Printable Version Email This Page to Someone! Receive updates to this thread
Microsoft SQL Server
Access database support
PostgreSQL Replication
SQL Server ODBC
FoxPro Support
PostgreSQL pgAdmin
SQL Server Clustering
MySQL ODBC
Web Applications with dBASE
SQL Server CE
MySQL++
Sybase Database Support
MS SQL Full Text Search
PostgreSQL Administration
SQL Anywhere support
DB2 UDB Database
Paradox Database Support
Filemaker Database
Berkley DB
SQL 2000/2000i database
ASE Database
Forum Jump:
All times are GMT. The time now is 11:58 PM.

 
Mobile devices forum | Database support forum archive




Copyrights DropTable.com Database Support Forum 2004 - 2006