Har problem med ett program skrivet i VB 6.0 och som använder ADO mot Access med DSN. På flera olika maskiner med både win 2000 och XP fungerar det fint men på vissa maskiner får jag felkod "Run-time error 430" Fundering Bara lite funderingar ifrån mig. Löst genom att det var DLL-hellRun-time error 430 med ADO
Vanligtvis betyder detta fel att man har olika versioner av mdac i den maskin man utvecklade programmet och i den maskin felet uppstår.
Har därför provat att uppgradera MDAC på maskinen där felet uppstår utan att det hjälpte. (v2.7)
Kör Win XP i utveckingsmaskin och använt MDAC version 2.7 och Access 2000
Felet uppstår vid raden med
Set DB = CreateObject("ADODB.Connection")
(DB declarerad som Private DB As New ADODB.Connection )
Någon som vet vad som är felet ???Sv: Run-time error 430 med ADO
Jag har nu följande:
Set DB = CreateObject("ADODB.Connection")
Borde jag valt:
Set DB = New ADODB.Connection
???
och om så vad är skillnaden ?
Ytteligare fundering
Kan det vara så att på maskinen där felet uppstår finns problem med funktionen "CreateObject" ???
och att felet som jag trott var något i MDAC bara var fel programlösning av mig ?
eller finns det inställningar i XP som spärrar "CreateObjekt" ?Sv: Run-time error 430 med ADO
Har du lagt till rätt referens?
Jag har för mig att det skall vara:
Microsoft ActiveX Data Objects 2.7 library.
Sen min fundering på din fundering.
Du måste ju börja med:
Set DB = CreateObject("ADODB.Connection")
när du sen väljer:
Set DB = New ADODB.Connection
så är det ju en ny instance av ditt CreateObject(som du måste ha med)
Nu hoppas jag att jag inte får för mycket påhopp på mig, men jag vill minas att det bör vara så.
Pelle har gjort en bra artikel om detta.Sv: Run-time error 430 med ADO
Ingen total lösning är dock hittad med gamla miljön (ej dotnet)
Problemet var att det fanns dubbla "Systemmappar"
C:\Program\Delade filer\...
C:\Program\Shared Files\...
Idiotiskt av MS
Orsaken funnen men som sagt var ingen perfekt lösning för att undvika i framtiden.