Problem beim Datenbank replizieren

Der_Wanderer

Grünschnabel
Hi,

Ich habe ein Programm geschrieben zum Replizieren und Synchronisieren von Datenbanken. Eine neue Datenbank muß aber erst replizierbar gemacht werden:
Code:
Dim M As New JRO.Replica
M.MakeReplicable(MasterPfad, False)
M = Nothing

Soweit kein Problem, aber wenn ich dann später im Programm folgenden Code ausführe:
Code:
Dim ConnMaster As New ADODB.Connection
Dim Master As New JRO.Replica
 
ConnMaster.Open("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data source=" & MasterPfad)
Master.ActiveConnection = ConnMaster
 
Master.CreateReplica(ReplikatPfad, MasterPfad, JRO.ReplicaTypeEnum.jrRepTypeFull, JRO.VisibilityEnum.jrRepVisibilityGlobal)
Master = Nothing

dann sagt er mir, daß die Datei schon verwendet wir. Aber wie kann das sein Ich hab schon alles mögliche rumprobiert, aber das will nicht funktionieren. Kann mir jemand helfen? Was kann man außer dem "Nothing" noch machen, daß er die Datei nicht mehr als geöffnet ansieht.
 
Zuletzt bearbeitet:
Ich glaube der Fehler liegt hier

Visual Basic:
SET M = Nothing

Weil ohne das Set nur die Default eigenschaft der Master = Nothing gesetzt wird.


Grüsse bb

PS:
Visual Basic:
Dim Master as jro.Replica
Set Master = new jro.Replica
ist nicht nur besserer Stil :D sondern auch schneller als dim master as new (Fällt aber erst bei vielen grossen Objekten auf )
 
Hallo, schau mal hier nach:
http://msdn2.microsoft.com/en-us/library/aa140026(office.10).aspx
Dein Code sieht auch etwas seltsam aus.
Code:
Dim M AsNew JRO.Replica
M.MakeReplicable(MasterPfad, False)
M = Nothing
Code:
Dim ConnMaster AsNew ADODB.Connection
Dim Master AsNew JRO.Replica
 
ConnMaster.Open("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data source=" & MasterPfad)
Master.ActiveConnection = ConnMaster
 
Master.CreateReplica(ReplikatPfad, MasterPfad, JRO.ReplicaTypeEnum.jrRepTypeFull, JRO.VisibilityEnum.jrRepVisibilityGlobal)
Master = Nothing
Sollte so aussehen:
Code:
Dim M As New JRO.Replica
M.MakeReplicable(MasterPfad, False)
Set M = Nothing
Code:
Dim ConnMaster As New ADODB.Connection
Dim Master As New JRO.Replica
 
ConnMaster.Open("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data source=" & MasterPfad)
Master.ActiveConnection = ConnMaster
 
Master.CreateReplica(ReplikatPfad, MasterPfad, JRO.ReplicaTypeEnum.jrRepTypeFull, JRO.VisibilityEnum.jrRepVisibilityGlobal)
Set Master = Nothing
 
Also das mit AsNew ist beim rüber kopieren passiert...
Die Seite auf msdn2.microsoft kannt ich schon, sonst wär ich nicht bis hier hin gekommen :-)

Wenn ich das "Set" davor setze blendet mein Visual.net das gleich wieder aus, deshalb hab ich das bis jetzt auch immer weggelassen. Aber ich werde es torzdem mal versuchen, vielleicht klappts.

Danke für die Antworten
 
Da du scheinbar in .Net programmierst solltest du dich auch an ein entsprechendes Forum wenden.
Denn hier wird VB3 - VB6 gesprochen manchmal auch VBA aber eigentlich kein .Net
Die richtige Lösung für VB6 hast du bereits von wincnc und mir bekommen.

Grüsse bb
 
Zurück