Questione : Rimuovere la sicurezza dalla base di dati di accesso del ms (motore a propulsione)

Ho schierato casualmente una base di dati di accesso ai miei utenti con la mie proprie identificazione usuario, parola d'accesso e parola d'accesso di base di dati in esso.  Questa base di dati consiste di un giornale in cui digitano i loro propri dati.  Nella mia versione seguente del software, uscente molto presto, devo completamente rimuovere tutta la sicurezza dalla lima in moda da se hanno MS-Access sul loro calcolatore, poterli osservare il file.

How facciano io controllino, sull'inizio, se la base di dati del giornale ha sicurezza in esso ed in caso affermativo, rimuovere tutta la sicurezza? la stringa corrente del collegamento del

My è qualcosa di simile:

str1 = “fornitore = Microsoft.Jet.OLEDB.4.0; “identificazione usuario del &= del

str1 “= userid; “parola d'accesso = passwd del &= del
str1 “; “getto OLEDB del &= del

str1 “: Base di dati di sistema =„ & _
GetCurrentDirectory () & “\ dati \ System1.mdw; “fonte di dati del &= del

str1 “=„ & global_Journal & “; “getto OLEDB del &= del

str1 “: Base di dati Password=DBpasswd; “
class= del

Risposta : Rimuovere la sicurezza dalla base di dati di accesso del ms (motore a propulsione)

Ammettendolo hanno assicurato correttamente la base di dati, quella non sarà il caso. Se assicuriate correttamente la base di dati e tentano di aprirli con un gruppo di lavoro differente (come la loro propria lima di System.mdw) allora che otterrà “voi non hanno il messaggio di errore insignificante insignificante di permesso„.

La sicurezza a livello di utente consiste di una lima di gruppo di lavoro e della lima di base di dati. Il gruppo di lavoro contiene le associazioni degli utenti, dei gruppi, di User+Group e le parole d'accesso. Un singolo gruppo di lavoro può essere usato per assicurare molte basi di dati differenti. La lima di base di dati in se contiene i permessi dell'oggetto - tutto il gruppo di lavoro realmente fa è autentica l'utente ed allora passa un Sid alla base di dati, che quel db quindi gli usi quando determina le azioni un utente possono prendere. ULS inoltre “sessione-è basato„ - cioè, posso avere “sessioni„ multiple di accesso pubbliche sulla mia macchina, ciascuna using una lima differente di gruppo di lavoro. Se ho SessionA aperto con WorkgroupA e tento di aprire una base di dati in quella sessione che non è stata assicurata con WorkgroupA, quindi ottengo un messaggio di errore (che presuppone, naturalmente, che la base di dati è assicurata correttamente).

Per aprire una base di dati correttamente assicurata, DOVETE usare la lima di gruppo di lavoro che è stata usata originale per assicurare la base di dati. Per fare quella, avete due scelte: l'uno o l'altro unisce la macchina a quel gruppo di lavoro (NON una buona idea), o utilizza una scorciatoia come precedentemente descritto per aprire una sessione di accesso con quel gruppo di lavoro. Di gran lunga, la migliore idea è di utilizzare una scorciatoia per aprire una sessione di accesso.

Quanto alla parola d'accesso di DB - non ho veduto quello, poiché esso altamente insolito avere sia ULS che una parola d'accesso di base di dati - allora aprite una volta la base di dati che potete usare DAO per cambiare quella parola d'accesso:

CurrentDB.NewPassword “vecchio pw„, “nuovo pw„

Naturalmente questo è un metodo di DAO, non un metodo di DIFFICOLTÀ. Per fare quello, dovete usare una dichiarazione di SQL di ALTERAZIONE. Vedere questo articolo del Kb:

http://support.microsoft.com/default.aspx?scid=KB;EN-US;q304915
Altre soluzioni  
 
programming4us programming4us