OLE DB-provider voor ODBC-stuurprogramma’s Fout ‘80004005’

Ik moet een aantal klantensites verplaatsen van een heel oude IIS-server naar een nieuwere, en sommige sites hebben problemen om op de juiste manier te werken. De meesten van hen klagen over een storing genaamd:

Microsoft OLE DB Provider voor ODBC Drivers-fout ‘80004005’

[Microsoft][ODBC Driver Manager]Gegevensbronnaam niet gevonden en geen standaardstuurprogramma opgegeven.

Ik heb op internet gelezen dat dit kan afhangen van ontbrekende rechten die aan de gebruiker zijn gegeven; andere sites stellen dat er een Temp-map ontbreekt (ik kan me niet voorstellen dat dit juist is)… Er zijn verschillende andere “oplossingen”:

De rechten voor iedereen op de server openen (zoals iemand zei) is voor mij geen optie. Het is ook erg pijnlijk om elke klant expliciete rechten te geven (er zijn verschillende klanten die de rechten nodig hebben).

Kent u een eenvoudigere oplossing, een vergelijkbare manier of een alternatief?


Antwoord 1, autoriteit 100%

Die fout wordt bijna altijd veroorzaakt door een slechte verbindingsreeks wanneer een ADODB.connection-object zijn .open()-methode heeft aangeroepen.

Neem bijvoorbeeld de volgende code:

Dim SqlUsername : SqlUsername = "YOURSQLUSERNAME"
Dim SqlPassword : SqlPassword = "YOURSQLPASSWORD"
Dim ConnectionString : ConnectionString = "DRIVER={SQL Server};SERVER=YOURSERVERNAME;DATABASE=YOURDATABASENAME;UID=" & SqlUsername & ";PWD=" & SqlPassword 
Dim db
Set db = Server.CreateObject("ADODB.Connection")
db.Open ConnectionString , SqlUsername , SqlPassword 

Merk op hoe de verbindingsreeks een stuurprogramma-ID bevat, in dit voorbeeld is dat SQL Server.

Ergens in uw toepassing zult u een adodb.connection.open()methode hebben die wordt aangeroepen met een verbindingsreeks, u moet deze vinden, het gebruikte stuurprogramma bepalen en het op uw server.

Nog iets om in gedachten te houden, sommige stuurprogramma’s voor gegevensbronnen zijn 32-bits en als u uw website in een 64-bits applicatiepool in IIS uitvoert, moet u 32-bits objecten toestaan – zie deze gerelateerde vraag daarover: Foto uploaden na migratie van IIS 6.0 naar IIS 7,5


Antwoord 2, autoriteit 100%

Ik heb hetzelfde probleem tijdens het werken met klassieke asp en met IBM DB2 ODBC Driver. Ik heb twee websites geconfigureerd in mijn lokale IIS 7.5, Connection.Open werkt prima met de standaardwebsite, terwijl dat niet het geval is met de tweede website, na verschillende configuratiewijzigingen volgens mijn kennis en volgens sugesions van stackoverflow heeft me in dit geval niet geholpen.

Wat voor mij werkte, is het inschakelen (instellen op True) van de 32bit-applicaties Geavanceerde instelling van ASP.NET V4.0Classic Application Pool.

Application Pools-->ASP.NET V4.0 Classic-->
           Advanced Settings--> under General Options double click Enable 32-bit Applications to set to True.

Deze kleine configuratie kan iemand helpen die hetzelfde probleem heeft.


Antwoord 3, autoriteit 50%

Je oude server heeft een aantal ODBC DSN(gegevensbronnamen) gedefinieerd, en dit is hoe uw applicaties maken verbinding met de databases. U moet deze op uw nieuwe server definiëren. Kijk in het Configuratiescherm van uw server.


Antwoord 4, autoriteit 50%

Je hebt nu zeker je probleem opgelost, maar voor kennisdoeleinden is dit wat kan werken:

Naast wat @webaware zei, volg de onderstaande stappen op uw nieuwe servermachine:

  1. Ga naar Configuratiescherm
  2. Beheerhulpmiddelen
  3. Gegevensbronnen (ODBC)
  4. Klik op het tabblad Systeem-DSN
  5. Klik op de knop Toevoegen
  6. Zoek en selecteer het Oracle in Client-stuurprogramma.
  7. Typ nu de gegevensbronnaam, beschrijving, TNS-servicenaam en gebruikers-ID in

Opmerking:Vraag uw databasebeheerder om de juiste TNS-servicenaam en gebruikers-ID. Je hebt ook de gebruikers-ID nodig om je verbinding te testen.

  1. Klik op de knop Verbinding testen
  2. Typ uw TNS-servicenaam in als de Servicenaam, gebruikers-ID als de Gebruikersnaamen het wachtwoord van de gebruikers-ID
  3. Klik op de OK-knop

Uw verbinding zou nu succesvol moeten zijn.


Antwoord 5, autoriteit 50%

Ik had hetzelfde probleem na het updaten van Configuratiescherm Plesk 12.5 naar Plesk Onyx 17.5.3 en zie bijgewerkt ODBC-stuurprogramma naar 5.3.

Om het probleem op te lossen heb ik ( 5.1 ) gewijzigd in ( 5.3 Unicode Driver ) in de verbindingsreeks.

Wijzig dit:

Conn.Open "DRIVER={MySQL ODBC 5.1 };SERVER=localhost; DATABASE=psa; UID=admin;PASSWORD=mypassword;Port=8306; OPTION=3"

Naar:

Conn.Open "DRIVER={MySQL ODBC **5.3 Unicode Driver**};SERVER=localhost; DATABASE=psa; UID=admin;PASSWORD=mypassword;Port=8306; OPTION=3"

Antwoord 6, autoriteit 50%

Zorg ervoor dat u de verbindingscode bovenaan de pagina plaatst versus onderaan. Dat loste mijn probleem met deze fout op.


Antwoord 7

Het stuurprogramma is niet gevonden omdat deze stuurprogramma’s niet zijn geconfigureerd of geregistreerd in het systeem. Ook ik kreeg zo’n fout wanneer ik een asp-paginawebsite in localhost uitvoer. Dezelfde pagina liep probleemloos op de hostserver.
Ga om te registreren naar Microsoft ODBC Administrator -> SYSTEEM DSN-tabblad -> Voeg uw chauffeur toe door op de knop ‘configureren’ te klikken. Ik hoop dat dit helpt.


Antwoord 8

Voor mij was het gewoon een ontbrekende “;” na databasenaam in verbindingsreeks


Antwoord 9

Dit was niet gerelateerd aan rechten. Het kan zijn dat u databaseverbindingen definieert die expliciet verwijzen naar een specifieke versie van het mysql ODBC-stuurprogramma.

U moet uw verbindingsreeksen bijwerken.

Other episodes