Connections DB Access   otázka

VB.NET

Zdravím a obracím se s prosbou na zdejší borce v accessu.

Jak získat seznam všech připojení mdb sdílené v síti,

získat názvy připojených pc a jméno uživatele?

Databázi používám jako zdroj dat vb.net aplikace, starší

oprášený projekt.

Databáze má svůj soubor mdw ve stejné složce a po připojení

se tamtéž vytvoří soubor ldb, postupně se do něj přidávají

další připojení v chnologickém pořadí, údaje jsou uloženy

v blocích 64znaků, vždy 32 pro název pc a 32 pro username,

do souboru se přidávají další záznamy (odpojení zůstávají),

proto čtením přímo ze souboru ldb není možné získat aktuálně

připojené uživatele.

Narozdíl od čtení přímo ze souboru ldb mi tento jiný postup

kupodivu zobrazuje pouze právě připojené uživatele, navíc

poskytuje další dva sloupce s informacemi o připojení:

' The user roster is exposed as a provider-specific schema rowset
' in the Jet 4.0 OLE DB provider.  You have to use a GUID to
' reference the schema, as provider-specific schemas are not
' listed in ADO's type library for schema rowsets
Dim user_roster As DataTable = _
    cnOleDb.GetOleDbSchemaTable(New Guid("{947bb102-5d43-11d1-bdbf-00c04fb92675}"), Nothing)
dgv.DataSource = user_roster 'datagridview

Inspirace k výše uvedenému kódu čerpána dle:

Jak lze zjistit, kdo je přihlášen k databázi pomocí

nástroje Microsoft Jet UserRoster v aplikaci Access:

http://support.microsoft.com/kb/285822

Pro každé nové připojení se vrací stejné připojení dvakrát,

nevíte čím to může být ? Něco špatně nastavené?

Stejně tak i zápis pro stejné připojení se v souboru ldb

provede dvakrát.

ConnectionString je totožný a má uvedenou system db, liší

se pouze připojený user. Soubor ldb se po odpojení všech

uživatelů správně odstraní, žádné spojení nezůstává viset.

Mám jistotu,že se připojuje právě jedna aplikace, db není

otevřena nikde jinde např. v aplikaci Access a blok kódu

s připojením k db není vykonán vícekrát.

Za Váš čas věnovaný Vaší případné odpovědi předem děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback