Hur komma förbi (felhantera) kopplingen till en databas? En ful WorkAround hittad.VB, Databas, ODBC (igen)
Jag kör följande:
<code>set db = Workspaces(0).OpenDatabase("123", dbDriverNoPrompt, False, "ODBC;DATABASE=456;UID=78;PWD=765;DSN=123")</code>
Om jag då har ett nätverksproblem, (tagit ut nätverkskabeln för test), sker inget körfel.
Dvs programmet går inte till min felhanteraren.
Utan istället kommer en msgbox (microsofts egna) upp som säger:
Inloggning på SQLserver
Fel på anslutning.
SQLstate: "01000"
SQLserver: 10065
....
TCP/IP sockets Nätverksfel....
Klickar man då på OK, så får man den vanliga SQL-server-inloggningen där man väljer databas, usid och pwd.
Självklart är det ett nätverksfel. (jag har ju tagit bort nätverkskabeln.)
Hur kan man få detta till ett vanligt fel som kan hanteras via en felhanterare?
Dvs kunna gå vidare om ett nätverksfel finns.
/ MikaelSv: VB, Databas, ODBC (igen)
Jag skapar en Accessfil med SQL-servertabellerna inlänkade.
Tabellerna länkas med sparade passord.
Sedan låter jag VB koppla sig mot dessa inlänkade tabeller i Access.
När jag sedan i VB kör set db=..
Anropas Accessfilen. Detta går då alltid bra pga accessfilen ligger på samma disk som VB-applikationen.
När jag sedan kör set rs=db.opeorecordset... i VB, inträffar ett ODBC-fel som kan hanteras i felhanteraren.
Detta är en mycket ful lösning, kan någon komma på något bättre??
/ Mikael