Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Ricavare UserId da SqlConnection
martedì 21 ottobre 2008 - 17.01
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
tarabasch84
Profilo
| Junior Member
125
messaggi | Data Invio:
mar 21 ott 2008 - 17:01
Ciao ragazzi,
ho la necessità di ottenere e di gestire nel CLR di una applicazioncina, l'utente sql (quindi UserId) che ha istanziato la connessione con il server in quel momento. C'è qualche metodo o qualche funzione atta a raggiungere tale scopo? Spero di essere stato chiaro nella mia richiesta!
Saluti Aldo!
--
Credo che parte della colpa sia di billy...
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mar 21 ott 2008 - 17:12
>ho la necessità di ottenere e di gestire nel CLR di una applicazioncina,
>l'utente sql (quindi UserId) che ha istanziato la connessione
>con il server in quel momento. C'è qualche metodo o qualche funzione
>atta a raggiungere tale scopo?
Ciao Aldo,
Interrogare la funzione ORIGINAL_LOGIN() con una SELECT?
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
tarabasch84
Profilo
| Junior Member
125
messaggi | Data Invio:
mar 21 ott 2008 - 17:26
Lavoro in LinqToSql quindi non ho la possibilità di utilizzare ORIGINAL_LOGIN()
, o meglio potrei avercela se creo una SP nel db che poi dovrei richiamare nel CLR, però non mi sembra la soluzione migliore nel mio caso.
Cerco di essere più preciso fornendoti un caso d'uso:
//Istanzio la connessione
SqlConnection conn = new SqlConnection("DataSource=SERVER InitialCatalog=db UserID=Aldo Password=ciao");
conn.open();
SqlTransaction tran = conn.BeginTransacion();
DataContext db = new DataContext(conn);
db.Transaction = tran;
try
{
//effettuo dell insert in linqtosql e viene generato un errore
}
catch(SqlException SqlEx)
{
tran.Rollback();
//salvo i dettagli dell'errore
Errorlog el = new Errorlog();
el.ErrorMessage = SqlEx.Message;
el.ErrorNumber = SqlEx.Number;
el.ErrorSeverity = SqlEx.Class;
el.ErrorState = SqlEx.State;
el.ErrorTime = DateTime.Now;
el.Username = ?????????????;
db.Errorlog.InsertOnSubmit(el);
db.SubmitChanges();
}
Come risolvo il problema dei punti interrogativi? Da dove lo prendo l'userid sapendo che può essere variabile? (nell'esempio ho utilizzato il mio nome)
Spero di essere stato chiaro nella richiesta!
--
Credo che parte della colpa sia di billy...
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !