ODBC/A97: Connectionstring aendert sich

27/08/2009 - 12:44 von Siegfried Schmidt | Report spam
Hallo,

ich habe beim (Wieder-)einbinden von ODBC-Tabellen das Problem, dass ein
rein DSN-basierender Connectionstring beim anschliessenden refreshLink
mit den eingestellten Parametern des DSN ergànzt wird.

Aus einem übergebenen
'ODBC;DSN=dsnname;TABLE=tabelle'
wird beispielsweise
'ODBC;DSN=dsnname;DATABASE=xx;SERVER=xx;PORT=xx;CA=d;A6=;A70;...' 1)

Was für den Zugriff auf die Tabellen nur ein Schönheitsfehler ist, hat
leider zwei störende Nebenwirkungen:
- spàtere Änderungen im DSN werden ignoriert, was dem Sinn eines DSN
ziemlich entgegenlàuft und bei grossen Tabellen Ärger macht. 2)
- temporàre Queries funktionieren zwar mit dem DSN-only-String, weil
dieser aber von den Tabellenconnections abweicht wird für jede Query eine
eigene Datenbankverbindung aufgebaut anstatt die bereits bestehende zu
benutzen. 3) Erst das hàndische Angleichen der Strings beseitigt den
Effekt.

Kennt jemand eine Möglichkeit, Access diese unerwünschte Ergànzung
abzugewöhnen und rein DSN-basierend zu arbeiten?

(fup microsoft.public.de.access.clientserver)


Siegfried


1) ODBC-Treiber ist psqlODBC
2) beim refreshLink holt A97 alle Primàrschlüssel der Tabelle vom Server,
was oberhalb 1E6..1E7 Datensàtzen zu einem Speicherüberlauf führt. Man
muss daher zur Wiedereinbindung auf eine leere Datenbank umschalten, was
durch die gespeicherten Parameter nur über schmutzige Tricks geht (DNS-
Manipulation o.à.)
3) was neben der zusàtzlichen Serverbelastung die Backend-Porzess-ID als
Ankerpunkt für sessionbezogene temporàre Daten unbrauchbar macht.
 

Lesen sie die antworten

#1 Peter Doering
27/08/2009 - 12:59 | Warnen spam
Hallo,

Siegfried Schmidt wrote:

ich habe beim (Wieder-)einbinden von ODBC-Tabellen das Problem, dass ein
rein DSN-basierender Connectionstring beim anschliessenden refreshLink
mit den eingestellten Parametern des DSN ergànzt wird.

Aus einem übergebenen
'ODBC;DSN=dsnname;TABLE=tabelle'
wird beispielsweise
'ODBC;DSN=dsnname;DATABASE=xx;SERVER=xx;PORT=xx;CA=d;A6=;A70;...' 1)

Was für den Zugriff auf die Tabellen nur ein Schönheitsfehler ist, hat
leider zwei störende Nebenwirkungen:
- spàtere Änderungen im DSN werden ignoriert, was dem Sinn eines DSN
ziemlich entgegenlàuft und bei grossen Tabellen Ärger macht. 2)
- temporàre Queries funktionieren zwar mit dem DSN-only-String, weil
dieser aber von den Tabellenconnections abweicht wird für jede Query eine
eigene Datenbankverbindung aufgebaut anstatt die bereits bestehende zu
benutzen. 3) Erst das hàndische Angleichen der Strings beseitigt den
Effekt.

Kennt jemand eine Möglichkeit, Access diese unerwünschte Ergànzung
abzugewöhnen und rein DSN-basierend zu arbeiten?



Wie waere es, beim Start der Anwendung einen RefreshLink auf alle Tabellen
zu machen, analog zu www.donkarl.com?FAQ3.1 ?

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen