Proprietario tabella sql

lunedì 02 maggio 2005 - 13.11

cnnmax Profilo | Junior Member

Ciao a tutti.
Avrei bisogno di sapere via codice il proprietario di una tabella di sql per poter costruire dinamicamente la condizione where di una select.
Per sapere il nome della tabella uso oDCol.Table.TableName dove oDCol è un oggetto datacolumn.

Grazie

cnnmax Profilo | Junior Member

Nella FROM e nella WHERE occorre indicare il proprietario della tabella se non lo sono io altrimenti SQL non sa a chi appartiene e se ci sono i permessi. Il DB è stato creato con un utente specifico e non con dbo.
Provo a vedere il compomente com di Sql SQLDMO.

Grazie

cnnmax Profilo | Junior Member

Non ho capito. Ti spiace spiegarmi meglio?

Io ho impostato i controlli sulla webform in modo da generare automaticamente una condizione where da concatenare ad una select e ottenere i risultati della ricerca che carico in un dataset dando poi la possibilità di navigare all'interno dei record restituiti.

Non conoscendo il proprietario della tabella la select di ricerca va in errore ho questa situazione:
utente pippo proprietario delle tabelle e utente paperino con permessi di scrittura sulle tabelle di pippo
La select per paperino è :
SELECT Tabella.IdCampo,tabella2.Descrisione,campo1, campo2 FROM Tabella INNER JOIN tabella2 ON Tabella.IdCampo = Tabella2.IdCampo WHERE IdCampo = 22

Se eseguo così mi restituisce logicamente errore perchè Tabella non è di paperino e IdCampo non specifica a quale tabella appartiene,

Devo quindi specificare proprietario e tabella:
SELECT pippo.Tabella.IdCampo,pippo.tabella2.Descrisione,campo1, campo2 FROM pippo.Tabella INNER JOIN pippo.tabella2 ON pippo.Tabella.IdCampo = pippo.Tabella2.IdCampo WHERE pippo.Tabella.IdCampo = 22

Cosa centrano le acl sulla storeProcedure?
c'è qualche strada migliore per leggere i valori inseriti e creare la condizione di ricerca?
Grazie

cnnmax Profilo | Junior Member

Pienamente daccordo sulla teoria delle store procedure.
Ma il mio problema era conoscere il propretario della tabella a runtime.
Si usando le SP non avrei alcun problema sono fisse e ci scrivo io il nome del proprietario,ma mi porta via troppo tempo modificare

Grazie

cnnmax Profilo | Junior Member

Si ma creare le Sp così come fa .Net con i suoi componenti mi comporta creare e gestire SP per ogni gestione
se invece creo una libreria che controlla quello inserito e crea dinamicamente le operazioni da effettuare mi fa scrivere molto meno codice emi permette di riutilizzare il tutto.
Ad esempio per effettuare una ricerca su campi di testo in una sp come faccio a controllare la ricerca per parte di campo o per inizio del campo?
E' un problema che mi sto portando indietro da un po di tempo non so se cambiare approccio o no.
Puoi suggerirmi qualcosa da leggere o vedere per chiarirmi un po le idee?

Grazie

cnnmax Profilo | Junior Member

Conosco LIKE e % ma se l'utente vuole ricercare per inizio di campo devo scrivere
WHERE nomecampo LIKE 'pippo%'

se vuole ricercare per parte di campo devo scrivere WHERE nomecamlo LIKE '%pippo%'
se vuole tutto ciò che termina per pippo invece WHERE nomecampo LIKE '%pippo'

nella SP cosa faccio passo un altro parametro che mi indica dove inserire il "%" in base a che tipo di ricerca fare?

Se poi la mia gestione contiene molti campi le SP diventano ingestibili e ad una manutenzione di una maschera devo stare attento a modificare tute le SP.

Grazie
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5