Toon posts:

[VB/ADO.NET] OleDB, Access/Excel probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ok, ik heb een applicatietje geschreven in VB.NET die mbv ADO.NET (OLEDB) informatie uit een Access database en een Excel sheet trekt.

Zolang beide bestanden op m'n eigen computer staan werkt het allemaal prima, maar zodra ik deze bestanden vanaf een andere computer wil aanspreken gaat het fout:

System.Data.OleDb.OleDbException: Could not find installable ISAM

Heb via google toen dit Microsoft artikeltje gevonden, maar alle paden staan correct in m'n Registry. Heb ook geprobeerd om deze service pack te installeren, maar ik scheen al een nieuwere versie te hebben.

M'n connectie strings zien er zo uit:

Access

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\iljah\Old Mutual\Database structures\OMPOC_IF.mdb;UID=;PWD="

Excel

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\iljah\Old Mutual\Database structures\OMPOC_UT.xls;Extended Properties=""Excel 8.0;"";UID=;PWD="

Zoals ik al zei: Zodra ik ipv een netwerkpath een absoluut path opgeef (E:/pad/naar/m'n/database-bestanden) werkt het prima, maar het probleem is dat ik het ook vanaf een andere computer moet aanroepen.

Het viel me wel op trouwens dat er bij m'n jet 4.0 registry key geen referentie naar een dll bestand stond, in tegenstelling to bij m'n jet 3.0 en 2.0 keys...

Enniewan?

Verwijderd

Topicstarter
Update: bovenstaande error werd veroorzaakt door de UID en PWD parameters in m'n connectie string, nu krijg ik de volgende error:

System.Data.OleDb.OleDbException: The Microsoft Jet database engine cannot open the file '\\iljah\Old Mutual\Database structures\OMPOC_IF.mdb'. It is already opened exclusively by another user, or you need permission to view its data.

Het probleem is hoogstwaarschijnlijk permissies. Heb de rechten allemaal aangezet voor elke gebruiker, dus weet nu zo net niet waar het aan kan liggen..

Als ik lokaal dit applicatietje run (dus op dezelfde computer als waar de databases staan) werkt het prima. De error komt zodra ik de applicatie vanaf een andere computer draai

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

Zelfde setup gebruikt voor access vor zowel de client als server? Workgroup administrator gedraaid met hetzelfde mdw bestand?
Ik weet uit eigen ervaring dat access wel meer problemen geeft op dit vlak (mdb bestnad benaderen van een andere pc).
Ik heb niet zo 1,2,3 een link die het een ander troubleshoot.... maar believe me .. u r not the only one.

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

Misschien moet je ms Data access components voor alle pc's. Heeft als het goed is de msjet4x.dll of msjet3x.dll in zich... dus.

Verwijderd

Topicstarter
Welke is dat exact? Heb wel een aantal downloadjes gevonden, maar daar geven ze aan dat sql server er het nog niet ondersteunt of dat de jet engines er niet bij zitten

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

Deze misschien MDAC 2.7

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

ALs de installatie van deze MDAC componenten niet helpt, stel ik voor MS access op beide pc's op nieuw te installeren (schone install).. met waar nodig de zelfde mdw file (join doen enzo).

Verwijderd

Topicstarter
Access was op beiden systemen net geinstalleerd...

Maar wat is die mdw file waar je het steeds over hebt?

Verwijderd

Topicstarter
Op woensdag 17 april 2002 11:13 schreef KoekenBoes het volgende:
Het viel me wel op trouwens dat er bij m'n jet 4.0 registry key geen referentie naar een dll bestand stond, in tegenstelling to bij m'n jet 3.0 en 2.0 keys...
Kan het hier mee te maken hebben? Het gaat om het HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0 pad

Verwijderd

Topicstarter
heb daar nu de volgende key/waardes staan:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0]
"PageTimeout"=dword:00001388
"LockRetry"=dword:00000014
"MaxBufferSize"=dword:00000000
"Threads"=dword:00000003
"ExclusiveAsyncDelay"=dword:000007d0
"SharedAsyncDelay"=dword:00000032
"FlushTransactionTimeout"=dword:000001f4
"MaxLocksPerFile"=dword:0000251c
"LockDelay"=dword:00000064
"RecycleLVs"=dword:00000000
"PagesLockedToTableLock"=dword:00000000
"UserCommitSync"="yes"
"ImplicitCommitSync"="no"
Terwijl er bij m'n Jet 2.x en 3.x registries nog een

"win32"="C:\\WINNT\\System32\\msrd3x40.dll" verwijzing staat

Verwijderd

Topicstarter
MDAC 2.7 geinstalleerd, maar haalt niks uit ;(

Verwijderd

Topicstarter
Misschien dat ik die Service Pack voor een latere win2k versie moet hebben? Krijg namelijk de melding dat mijn win2k versie een nieuwere service pack heeft dan deze sp als target heeft.

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

Zoek ff naar de system.mdw file op de ene pc..(meestal in de office dir) en join deze met de workgroup admin op de andere pc.

Verwijderd

Topicstarter
Op donderdag 18 april 2002 09:54 schreef henkleerssen het volgende:
Zoek ff naar de system.mdw file op de ene pc..(meestal in de office dir) en join deze met de workgroup admin op de andere pc.
Kan je dit wat gedetailleerder uitleggen please?

Verwijderd

Op vrijdag 19 april 2002 09:36 schreef KoekenBoes het volgende:

[..]

Kan je dit wat gedetailleerder uitleggen please?
MS Access maakt gebruik van een Workgroup file om de beveiliging te regelen. Standaard is dit de SYSTEM.MDW. Je kunt er zelf ook 1 aanmaken en deze gebruiken bij het opstarten van je Access applicatie.
In het workgroup bestand staan de rechten die je hebt op de objecten en data in je applicatie.
Het kan zijn dat je de database exculsief probeert te openen terwijl deze al open staat. :?

Verwijderd

Topicstarter
ok, maar hoe doe je dat joinen? (heb 'm gevonden nl)

en weet je zeker dat dit het probleem is? Bij Excel krijg ik nl exact dezelfde error...
Pagina: 1