Remediere Runtime error 3709: the connection cannot be used

Configurare noua (How To)

Situatie

Eroarea Runtime error 3709: The connection cannot be used apare de obicei în aplicații făcute în VB6 / VBA / Access / Excel / aplicații vechi cu bază de date, când conexiunea către baza de date nu este deschisă, este închisă, este stricată sau se încearcă folosirea ei greșit.

Pe scurt, aplicația încearcă să citească/scrie în baza de date, dar conexiunea nu este disponibilă.

Ce poți verifica prima dată

1. Închide și redeschide aplicația

Dacă este o aplicație veche, uneori conexiunea rămâne blocată.

- închide aplicația complet;
- verifică în Task Manager dacă mai rulează;
- închide procesul dacă este blocat;
- pornește aplicația din nou.

2. Verifică dacă baza de date există

Dacă aplicația folosește un fișier de tip:

.mdb
.accdb
.xls
.xlsx

verifică dacă fișierul există în locația configurată.

De exemplu:

C:\Program Files\Aplicatie\Database\
D:\Aplicatie\Data\
\\server\share\baza_date\

Dacă baza de date este pe rețea, verifică dacă poți accesa folderul respectiv din File Explorer.

3. Verifică drepturile pe folder

Aplicația trebuie să poată citi și scrie în folderul unde este baza de date.

Click dreapta pe folder → PropertiesSecurity și verifică dacă utilizatorul are:

Read
Write
Modify

Dacă baza de date este într-un folder protejat, cum ar fi:

C:\Program Files\
C:\Windows\

este posibil ca aplicația să nu aibă drepturi suficiente.

Încearcă să rulezi aplicația cu:

Run as administrator

4. Verifică conexiunea la server

Dacă baza de date este pe server, verifică:

- ai internet / rețea?
- poți accesa serverul?
- poți intra pe share?
- serverul este pornit?
- VPN-ul este conectat, dacă aplicația cere VPN?

Poți testa din Run:

\\nume-server

sau:

\\IP-server

Exemplu:

\\192.168.1.10

5. Verifică ODBC / driverul bazei de date

Dacă aplicația folosește ODBC, intră în:

Control Panel → Administrative Tools → ODBC Data Sources

Atenție: există două variante:

ODBC Data Sources 32-bit
ODBC Data Sources 64-bit

Pentru aplicații vechi, de obicei trebuie verificat ODBC 32-bit.

Îl găsești și direct aici:

C:\Windows\SysWOW64\odbcad32.exe

Verifică dacă există conexiunea configurată și apasă Test Connection, dacă există opțiunea.

Dacă este aplicație Access / Excel cu macro

Dacă eroarea apare într-un fișier Access sau Excel, încearcă:

1. Deschide fișierul.
2. Verifică dacă macro-urile sunt activate.
3. Verifică dacă fișierul nu este blocat de Windows.

Click dreapta pe fișier → Properties → dacă apare Unblock, bifează și apasă Apply.

Dacă ai acces la cod

Eroarea apare frecvent când în cod se face ceva de genul:

rs.Open sql, conn

dar conn nu este deschis.

Ar trebui verificat ca înainte de folosire conexiunea să fie deschisă:

If conn.State = 0 Then
    conn.Open
End If

Sau, mai corect:

If conn.State <> adStateOpen Then
    conn.Open connectionString
End If

De asemenea, verifică să nu existe ceva de genul:

conn.Close
rs.Open sql, conn

adică programul închide conexiunea și apoi încearcă să o folosească.

Solutie

Tip solutie

Permanent

Voteaza

(4 din 4 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?