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 → Properties → Security ș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ă.
Leave A Comment?