CLR Triggers

lunedì 27 febbraio 2006 - 13.25

Ciciu Profilo | Senior Member

Ciao a tutti.
Finalmente, con la versione professional di VS.NET, sono riuscito a smanettare un po' con i CLR Triggers.
Ho un problema di cui non ho trovato riferimenti in Rete...
Ho realizzato un trigger che, banalmente, fa un giro del/dei record aggiornati, e restituisce, attraverso il pipe, alcune stringhe a SQLServer... Ovviamente nulla di utile, ma comunque propedeutico !
Ho pensato di fare alcuni esperimenti, inserendo Oracle in questo contesto : in pratica, ogni volta che inserisco/aggiorno un record su una tabella di SQLServer, vado a scrivere un record su una tabella di Oracle... Purtroppo, non riesco ad aprire la connessione, poiché ottengo un messaggio di questo genere :

A .NET Framework error occurred during execution of user defined routine or aggregate 'tblDemo_tr':
System.Security.SecurityException: Request for the permission of type 'System.Data.OracleClient.OraclePermission, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
System.Security.SecurityException:
at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
at System.Security.PermissionSet.Demand()
at System.Data.Common.DbConnectionOptions.DemandPermission()
at System.Data.OracleClient.OracleConnection.PermissionDemand()
at System.Data.OracleClient.OracleConnectionFactory.PermissionDemand(DbConnection outerConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.OracleClient.OracleConnection.Open()
at Triggers.tblDemo_tr()
.
The statement has been terminated.
No rows affected.
(0 row(s) returned)
Finished running sp_executesql.
[...]


Capisco che sia relativo alla sicurezza, ma non ho assolutamente idea di cosa fare per risolverlo...
Il codice è molto banale :

OracleConnection oc = new OracleConnection();
oc.ConnectionString = "Data Source=DEMO4;User ID=demo;password=demo";
oc.Open();

Si "schianta" durante l'esecuzione del metodo OPEN...

Ciao - Grazie

Fabio G

Ciciu Profilo | Senior Member

Si, certo... La cosa buffa è che questa istanza Oracle risiede sul mio notebook (insieme a quella di SQLServer).

In poche parole, se mi connetto via sqlplusw, la connessione avviene correttamente...


Fabio G
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5