Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText > (@"select count(*) from Portfolios_Positions
pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder à
des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette procédure
stockée à d'autres fonctions (sql ou clr) qui provoquent cette erreur.
Y a t il un moyen de corriger ceci?
Merci
Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText > (@"select count(*) from Portfolios_Positions
pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder à
des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette procédure
stockée à d'autres fonctions (sql ou clr) qui provoquent cette erreur.
Y a t il un moyen de corriger ceci?
Merci
Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText > (@"select count(*) from Portfolios_Positions
pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder à
des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette procédure
stockée à d'autres fonctions (sql ou clr) qui provoquent cette erreur.
Y a t il un moyen de corriger ceci?
Merci
Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText > (@"select count(*) from Portfolios_Positions
pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder à
des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette procédure
stockée à d'autres fonctions (sql ou clr) qui provoquent cette erreur.
Y a t il un moyen de corriger ceci?
Merci
Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText > (@"select count(*) from Portfolios_Positions
pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder à
des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette procédure
stockée à d'autres fonctions (sql ou clr) qui provoquent cette erreur.
Y a t il un moyen de corriger ceci?
Merci
Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText > (@"select count(*) from Portfolios_Positions
pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder à
des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette procédure
stockée à d'autres fonctions (sql ou clr) qui provoquent cette erreur.
Y a t il un moyen de corriger ceci?
Merci
Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé
d'accéder à des données dont l'accès est restreint par l'assembly.
Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé
d'accéder à des données dont l'accès est restreint par l'assembly.
Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé
d'accéder à des données dont l'accès est restreint par l'assembly.
Il est fort probable que ta procedure stockée fait un acces en dehors de
l'instance SQL Server courante et que tu as créé ton assembly avec un
niveau de security SAFE
Regarde la syntaxe de CREATE ASSEMBLY
Il y a trois niveaux pour PERMISSION_SET
SAFE
EXTERNAL_ACCESS
UNSAFE
Commence par faire un test avec EXTERNAL_ACCESS ou encore UNSAFE
Bien cordialement
Med Bouchenafa
"Clark [MVP CRM]" wrote in message
news:Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText >> (@"select count(*) from Portfolios_Positions
pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder
à des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette
procédure stockée à d'autres fonctions (sql ou clr) qui provoquent cette
erreur.
Y a t il un moyen de corriger ceci?
Merci
Il est fort probable que ta procedure stockée fait un acces en dehors de
l'instance SQL Server courante et que tu as créé ton assembly avec un
niveau de security SAFE
Regarde la syntaxe de CREATE ASSEMBLY
Il y a trois niveaux pour PERMISSION_SET
SAFE
EXTERNAL_ACCESS
UNSAFE
Commence par faire un test avec EXTERNAL_ACCESS ou encore UNSAFE
Bien cordialement
Med Bouchenafa
"Clark [MVP CRM]" <clark@nospam.nospam> wrote in message
news:58F0A1B3-25ED-4121-90CD-A1A2D8B3BC22@microsoft.com...
Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText >> (@"select count(*) from Portfolios_Positions
pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder
à des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette
procédure stockée à d'autres fonctions (sql ou clr) qui provoquent cette
erreur.
Y a t il un moyen de corriger ceci?
Merci
Il est fort probable que ta procedure stockée fait un acces en dehors de
l'instance SQL Server courante et que tu as créé ton assembly avec un
niveau de security SAFE
Regarde la syntaxe de CREATE ASSEMBLY
Il y a trois niveaux pour PERMISSION_SET
SAFE
EXTERNAL_ACCESS
UNSAFE
Commence par faire un test avec EXTERNAL_ACCESS ou encore UNSAFE
Bien cordialement
Med Bouchenafa
"Clark [MVP CRM]" wrote in message
news:Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText >> (@"select count(*) from Portfolios_Positions
pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder
à des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette
procédure stockée à d'autres fonctions (sql ou clr) qui provoquent cette
erreur.
Y a t il un moyen de corriger ceci?
Merci
"Clark [MVP CRM]" a écrit dans le message de
news:Bonjour
Bonjour,
En complément de indications de Med BouchenafaJ'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
Je ne vois pas de procédure stockée dans le code mais je ne pense pas que
tu puisses altérer les données dans une fonction crl (de même qu'on ne
peut apeler une procédure stockée dans une fonction sql)
Ce n'est pas le cas dans ton code cependant.J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder
à des données dont l'accès est restreint par l'assembly.
j'ai mis un attribut sur la fonction dans un scénario analogue.
SqlFunctionAttribute avec le paramètre DataAccess à DataAccessKind.Read
(Je ne me souviens plus si cela fonctionnait sans et je ne peux tester
maintenant.)
--
Fred
"Clark [MVP CRM]" <clark@nospam.nospam> a écrit dans le message de
news:58F0A1B3-25ED-4121-90CD-A1A2D8B3BC22@microsoft.com...
Bonjour
Bonjour,
En complément de indications de Med Bouchenafa
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
Je ne vois pas de procédure stockée dans le code mais je ne pense pas que
tu puisses altérer les données dans une fonction crl (de même qu'on ne
peut apeler une procédure stockée dans une fonction sql)
Ce n'est pas le cas dans ton code cependant.
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder
à des données dont l'accès est restreint par l'assembly.
j'ai mis un attribut sur la fonction dans un scénario analogue.
SqlFunctionAttribute avec le paramètre DataAccess à DataAccessKind.Read
(Je ne me souviens plus si cela fonctionnait sans et je ne peux tester
maintenant.)
--
Fred
foleide@free.fr
"Clark [MVP CRM]" a écrit dans le message de
news:Bonjour
Bonjour,
En complément de indications de Med BouchenafaJ'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
Je ne vois pas de procédure stockée dans le code mais je ne pense pas que
tu puisses altérer les données dans une fonction crl (de même qu'on ne
peut apeler une procédure stockée dans une fonction sql)
Ce n'est pas le cas dans ton code cependant.J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder
à des données dont l'accès est restreint par l'assembly.
j'ai mis un attribut sur la fonction dans un scénario analogue.
SqlFunctionAttribute avec le paramètre DataAccess à DataAccessKind.Read
(Je ne me souviens plus si cela fonctionnait sans et je ne peux tester
maintenant.)
--
Fred
Bonjour
Non pas d'accès externe, tout se passe bien sur la même instance et sur la
même base.
De plus, le déploiement external_access ou unsafe n'est pas authorisé sur
mon serveur.
Dans la procédure stockée que j'exécute, je fais un select sur différents
champs de ma base dont certains calculés par ces fonctions. Si j'enlève
les champs calculés, ça fonctionne mais avec, pas moyen.
"Med Bouchenafa" a écrit dans le message de
news:Il est fort probable que ta procedure stockée fait un acces en dehors de
l'instance SQL Server courante et que tu as créé ton assembly avec un
niveau de security SAFE
Regarde la syntaxe de CREATE ASSEMBLY
Il y a trois niveaux pour PERMISSION_SET
SAFE
EXTERNAL_ACCESS
UNSAFE
Commence par faire un test avec EXTERNAL_ACCESS ou encore UNSAFE
Bien cordialement
Med Bouchenafa
"Clark [MVP CRM]" wrote in message
news:Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText >>> (@"select count(*) from Portfolios_Positions
pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder
à des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette
procédure stockée à d'autres fonctions (sql ou clr) qui provoquent cette
erreur.
Y a t il un moyen de corriger ceci?
Merci
Bonjour
Non pas d'accès externe, tout se passe bien sur la même instance et sur la
même base.
De plus, le déploiement external_access ou unsafe n'est pas authorisé sur
mon serveur.
Dans la procédure stockée que j'exécute, je fais un select sur différents
champs de ma base dont certains calculés par ces fonctions. Si j'enlève
les champs calculés, ça fonctionne mais avec, pas moyen.
"Med Bouchenafa" <com.hotmail@bouchenafa> a écrit dans le message de
news:58667279-16B4-4EB2-A42B-ED1F5F92FAFF@microsoft.com...
Il est fort probable que ta procedure stockée fait un acces en dehors de
l'instance SQL Server courante et que tu as créé ton assembly avec un
niveau de security SAFE
Regarde la syntaxe de CREATE ASSEMBLY
Il y a trois niveaux pour PERMISSION_SET
SAFE
EXTERNAL_ACCESS
UNSAFE
Commence par faire un test avec EXTERNAL_ACCESS ou encore UNSAFE
Bien cordialement
Med Bouchenafa
"Clark [MVP CRM]" <clark@nospam.nospam> wrote in message
news:58F0A1B3-25ED-4121-90CD-A1A2D8B3BC22@microsoft.com...
Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText >>> (@"select count(*) from Portfolios_Positions
pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder
à des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette
procédure stockée à d'autres fonctions (sql ou clr) qui provoquent cette
erreur.
Y a t il un moyen de corriger ceci?
Merci
Bonjour
Non pas d'accès externe, tout se passe bien sur la même instance et sur la
même base.
De plus, le déploiement external_access ou unsafe n'est pas authorisé sur
mon serveur.
Dans la procédure stockée que j'exécute, je fais un select sur différents
champs de ma base dont certains calculés par ces fonctions. Si j'enlève
les champs calculés, ça fonctionne mais avec, pas moyen.
"Med Bouchenafa" a écrit dans le message de
news:Il est fort probable que ta procedure stockée fait un acces en dehors de
l'instance SQL Server courante et que tu as créé ton assembly avec un
niveau de security SAFE
Regarde la syntaxe de CREATE ASSEMBLY
Il y a trois niveaux pour PERMISSION_SET
SAFE
EXTERNAL_ACCESS
UNSAFE
Commence par faire un test avec EXTERNAL_ACCESS ou encore UNSAFE
Bien cordialement
Med Bouchenafa
"Clark [MVP CRM]" wrote in message
news:Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText >>> (@"select count(*) from Portfolios_Positions
pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder
à des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette
procédure stockée à d'autres fonctions (sql ou clr) qui provoquent cette
erreur.
Y a t il un moyen de corriger ceci?
Merci
Je reste curieux de savoir comment tu as pu bloqué
EXTERNAL_ACCESS
UNSAFE
Le message d'erreur avait l#air d'etre clair mais lá je ne vois pas du
tout
Bien cordialement
Med Bouchenafa
"Clark [MVP CRM]" wrote in message
news:Bonjour
Non pas d'accès externe, tout se passe bien sur la même instance et sur
la même base.
De plus, le déploiement external_access ou unsafe n'est pas authorisé sur
mon serveur.
Dans la procédure stockée que j'exécute, je fais un select sur différents
champs de ma base dont certains calculés par ces fonctions. Si j'enlève
les champs calculés, ça fonctionne mais avec, pas moyen.
"Med Bouchenafa" a écrit dans le message de
news:Il est fort probable que ta procedure stockée fait un acces en dehors de
l'instance SQL Server courante et que tu as créé ton assembly avec un
niveau de security SAFE
Regarde la syntaxe de CREATE ASSEMBLY
Il y a trois niveaux pour PERMISSION_SET
SAFE
EXTERNAL_ACCESS
UNSAFE
Commence par faire un test avec EXTERNAL_ACCESS ou encore UNSAFE
Bien cordialement
Med Bouchenafa
"Clark [MVP CRM]" wrote in message
news:Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText >>>> (@"select count(*) from
Portfolios_Positions pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé
d'accéder à des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette
procédure stockée à d'autres fonctions (sql ou clr) qui provoquent
cette erreur.
Y a t il un moyen de corriger ceci?
Merci
Je reste curieux de savoir comment tu as pu bloqué
EXTERNAL_ACCESS
UNSAFE
Le message d'erreur avait l#air d'etre clair mais lá je ne vois pas du
tout
Bien cordialement
Med Bouchenafa
"Clark [MVP CRM]" <clark@nospam.nospam> wrote in message
news:ugRt6wwbJHA.1916@TK2MSFTNGP02.phx.gbl...
Bonjour
Non pas d'accès externe, tout se passe bien sur la même instance et sur
la même base.
De plus, le déploiement external_access ou unsafe n'est pas authorisé sur
mon serveur.
Dans la procédure stockée que j'exécute, je fais un select sur différents
champs de ma base dont certains calculés par ces fonctions. Si j'enlève
les champs calculés, ça fonctionne mais avec, pas moyen.
"Med Bouchenafa" <com.hotmail@bouchenafa> a écrit dans le message de
news:58667279-16B4-4EB2-A42B-ED1F5F92FAFF@microsoft.com...
Il est fort probable que ta procedure stockée fait un acces en dehors de
l'instance SQL Server courante et que tu as créé ton assembly avec un
niveau de security SAFE
Regarde la syntaxe de CREATE ASSEMBLY
Il y a trois niveaux pour PERMISSION_SET
SAFE
EXTERNAL_ACCESS
UNSAFE
Commence par faire un test avec EXTERNAL_ACCESS ou encore UNSAFE
Bien cordialement
Med Bouchenafa
"Clark [MVP CRM]" <clark@nospam.nospam> wrote in message
news:58F0A1B3-25ED-4121-90CD-A1A2D8B3BC22@microsoft.com...
Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText >>>> (@"select count(*) from
Portfolios_Positions pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé
d'accéder à des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette
procédure stockée à d'autres fonctions (sql ou clr) qui provoquent
cette erreur.
Y a t il un moyen de corriger ceci?
Merci
Je reste curieux de savoir comment tu as pu bloqué
EXTERNAL_ACCESS
UNSAFE
Le message d'erreur avait l#air d'etre clair mais lá je ne vois pas du
tout
Bien cordialement
Med Bouchenafa
"Clark [MVP CRM]" wrote in message
news:Bonjour
Non pas d'accès externe, tout se passe bien sur la même instance et sur
la même base.
De plus, le déploiement external_access ou unsafe n'est pas authorisé sur
mon serveur.
Dans la procédure stockée que j'exécute, je fais un select sur différents
champs de ma base dont certains calculés par ces fonctions. Si j'enlève
les champs calculés, ça fonctionne mais avec, pas moyen.
"Med Bouchenafa" a écrit dans le message de
news:Il est fort probable que ta procedure stockée fait un acces en dehors de
l'instance SQL Server courante et que tu as créé ton assembly avec un
niveau de security SAFE
Regarde la syntaxe de CREATE ASSEMBLY
Il y a trois niveaux pour PERMISSION_SET
SAFE
EXTERNAL_ACCESS
UNSAFE
Commence par faire un test avec EXTERNAL_ACCESS ou encore UNSAFE
Bien cordialement
Med Bouchenafa
"Clark [MVP CRM]" wrote in message
news:Bonjour
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
var cmd = new SqlCommand
{
Connection = conn,
CommandType = CommandType.Text,
CommandText >>>> (@"select count(*) from
Portfolios_Positions pp
where comptetitreid = '" +
CompteTitreId + "' and datereference = '" +
mouvement.dateReference.AddDays(-1) + "'")
};
conn.Open();
var nbPos = (int)cmd.ExecuteScalar();
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé
d'accéder à des données dont l'accès est restreint par l'assembly.
Après essais, il s'avère que ce sont les appels faits dans cette
procédure stockée à d'autres fonctions (sql ou clr) qui provoquent
cette erreur.
Y a t il un moyen de corriger ceci?
Merci
Bonjour
Non je n'ai pas donné le code de la procédure stockée, car il s'agit juste
d'un select avec appel à une fonction mais ça donne ça grosso modo
CREATE PROCEDURE [dbo].[CalculValoFromCompteAtDate]
@datePosition datetime,
@compteTitreId uniqueidentifier
AS
select SUM(case when coupon is not null then valo + coupon else valo end)
as total from
(select
Cumul2.Qty * Cumul2.Cotation * Cumul2.TauxChange as Valo
,dbo.fn_CalculCouponCouru(Cumul2.ValeurId, @datePosition) * Cumul2.Qty /
Cumul2.TauxChange as Coupon
From (
select
Cumul.ValeurId
,Cumul.Qty
,v.deviseCotationParDefaut
,dbo.[fn_GetLastCotationFromValeurAndDevise](v.ValeurId, @datePosition,
v.deviseCotationParDefaut) as Cotation
,dbo.[fn_GetLastCotationDateFromValeurAndDevise](v.ValeurId,
@datePosition, v.deviseCotationParDefaut) as DateCotation
,case
when c.Devise = v.deviseCotationParDefaut then 1
else dbo.fn_GetLastTauxChangeFromDevise(c.Devise,
@datePosition,v.deviseCotationParDefaut)
end as TauxChange
,case
when c.Devise = v.deviseCotationParDefaut then null
else dbo.fn_GetLastTauxChangeDateFromDevise(c.Devise,
@datePosition,v.deviseCotationParDefaut)
end as DateTauxChange
,c.Devise
from ( select
ValeurId, sum(Quantite) as Qty
from ( select case
when cott.SensAchatVente = 'V' then cots.QuantiteEnPartsEntieres * -1
when cott.SensAchatVente = 'A' then cots.QuantiteEnPartsEntieres
end as Quantite
,v.ValeurId
,v.LibelleLongValeur as LibelleValeur
from comptes_operationstitres cots
inner join Comptes_OperationsTitres_TypesOperationsSGP cott on
cots.IdTypeOperationSGP = cott.IdTypeOperationSGP
inner join valeurs v on cots.ValeurId = v.ValeurId
where CompteTitreId = @compteTitreId and DateReference <= @datePosition
and cots.Annule = 0) OpTitres
group by ValeurId, LibelleValeur
having sum(Quantite) <> 0) Cumul inner join Valeurs v on Cumul.ValeurId =
v.ValeurId
inner join Comptes c on c.CompteId = @compteTitreId
) Cumul2) Cumul3
J'avais utilisé d'abord des CTE mais je les ai enlevé, un info trouvé sur
le net, m'ayant laissé supposé que le problème venait de là mais sans
résultat.
Pour l'attribut [Microsoft.SqlServer.Server.SqlFunction(DataAccess =
DataAccessKind.Read)], je l'ai bien spécifié.
Merci
"Fred" a écrit dans le message de
news:%"Clark [MVP CRM]" a écrit dans le message de
news:Bonjour
Bonjour,
En complément de indications de Med BouchenafaJ'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
Je ne vois pas de procédure stockée dans le code mais je ne pense pas que
tu puisses altérer les données dans une fonction crl (de même qu'on ne
peut apeler une procédure stockée dans une fonction sql)
Ce n'est pas le cas dans ton code cependant.J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder
à des données dont l'accès est restreint par l'assembly.
j'ai mis un attribut sur la fonction dans un scénario analogue.
SqlFunctionAttribute avec le paramètre DataAccess à DataAccessKind.Read
(Je ne me souviens plus si cela fonctionnait sans et je ne peux tester
maintenant.)
--
Fred
Bonjour
Non je n'ai pas donné le code de la procédure stockée, car il s'agit juste
d'un select avec appel à une fonction mais ça donne ça grosso modo
CREATE PROCEDURE [dbo].[CalculValoFromCompteAtDate]
@datePosition datetime,
@compteTitreId uniqueidentifier
AS
select SUM(case when coupon is not null then valo + coupon else valo end)
as total from
(select
Cumul2.Qty * Cumul2.Cotation * Cumul2.TauxChange as Valo
,dbo.fn_CalculCouponCouru(Cumul2.ValeurId, @datePosition) * Cumul2.Qty /
Cumul2.TauxChange as Coupon
From (
select
Cumul.ValeurId
,Cumul.Qty
,v.deviseCotationParDefaut
,dbo.[fn_GetLastCotationFromValeurAndDevise](v.ValeurId, @datePosition,
v.deviseCotationParDefaut) as Cotation
,dbo.[fn_GetLastCotationDateFromValeurAndDevise](v.ValeurId,
@datePosition, v.deviseCotationParDefaut) as DateCotation
,case
when c.Devise = v.deviseCotationParDefaut then 1
else dbo.fn_GetLastTauxChangeFromDevise(c.Devise,
@datePosition,v.deviseCotationParDefaut)
end as TauxChange
,case
when c.Devise = v.deviseCotationParDefaut then null
else dbo.fn_GetLastTauxChangeDateFromDevise(c.Devise,
@datePosition,v.deviseCotationParDefaut)
end as DateTauxChange
,c.Devise
from ( select
ValeurId, sum(Quantite) as Qty
from ( select case
when cott.SensAchatVente = 'V' then cots.QuantiteEnPartsEntieres * -1
when cott.SensAchatVente = 'A' then cots.QuantiteEnPartsEntieres
end as Quantite
,v.ValeurId
,v.LibelleLongValeur as LibelleValeur
from comptes_operationstitres cots
inner join Comptes_OperationsTitres_TypesOperationsSGP cott on
cots.IdTypeOperationSGP = cott.IdTypeOperationSGP
inner join valeurs v on cots.ValeurId = v.ValeurId
where CompteTitreId = @compteTitreId and DateReference <= @datePosition
and cots.Annule = 0) OpTitres
group by ValeurId, LibelleValeur
having sum(Quantite) <> 0) Cumul inner join Valeurs v on Cumul.ValeurId =
v.ValeurId
inner join Comptes c on c.CompteId = @compteTitreId
) Cumul2) Cumul3
J'avais utilisé d'abord des CTE mais je les ai enlevé, un info trouvé sur
le net, m'ayant laissé supposé que le problème venait de là mais sans
résultat.
Pour l'attribut [Microsoft.SqlServer.Server.SqlFunction(DataAccess =
DataAccessKind.Read)], je l'ai bien spécifié.
Merci
"Fred" <foleide@free.fr.invalid> a écrit dans le message de
news:%23l6RiaZbJHA.5540@TK2MSFTNGP05.phx.gbl...
"Clark [MVP CRM]" <clark@nospam.nospam> a écrit dans le message de
news:58F0A1B3-25ED-4121-90CD-A1A2D8B3BC22@microsoft.com...
Bonjour
Bonjour,
En complément de indications de Med Bouchenafa
J'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
Je ne vois pas de procédure stockée dans le code mais je ne pense pas que
tu puisses altérer les données dans une fonction crl (de même qu'on ne
peut apeler une procédure stockée dans une fonction sql)
Ce n'est pas le cas dans ton code cependant.
J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder
à des données dont l'accès est restreint par l'assembly.
j'ai mis un attribut sur la fonction dans un scénario analogue.
SqlFunctionAttribute avec le paramètre DataAccess à DataAccessKind.Read
(Je ne me souviens plus si cela fonctionnait sans et je ne peux tester
maintenant.)
--
Fred
foleide@free.fr
Bonjour
Non je n'ai pas donné le code de la procédure stockée, car il s'agit juste
d'un select avec appel à une fonction mais ça donne ça grosso modo
CREATE PROCEDURE [dbo].[CalculValoFromCompteAtDate]
@datePosition datetime,
@compteTitreId uniqueidentifier
AS
select SUM(case when coupon is not null then valo + coupon else valo end)
as total from
(select
Cumul2.Qty * Cumul2.Cotation * Cumul2.TauxChange as Valo
,dbo.fn_CalculCouponCouru(Cumul2.ValeurId, @datePosition) * Cumul2.Qty /
Cumul2.TauxChange as Coupon
From (
select
Cumul.ValeurId
,Cumul.Qty
,v.deviseCotationParDefaut
,dbo.[fn_GetLastCotationFromValeurAndDevise](v.ValeurId, @datePosition,
v.deviseCotationParDefaut) as Cotation
,dbo.[fn_GetLastCotationDateFromValeurAndDevise](v.ValeurId,
@datePosition, v.deviseCotationParDefaut) as DateCotation
,case
when c.Devise = v.deviseCotationParDefaut then 1
else dbo.fn_GetLastTauxChangeFromDevise(c.Devise,
@datePosition,v.deviseCotationParDefaut)
end as TauxChange
,case
when c.Devise = v.deviseCotationParDefaut then null
else dbo.fn_GetLastTauxChangeDateFromDevise(c.Devise,
@datePosition,v.deviseCotationParDefaut)
end as DateTauxChange
,c.Devise
from ( select
ValeurId, sum(Quantite) as Qty
from ( select case
when cott.SensAchatVente = 'V' then cots.QuantiteEnPartsEntieres * -1
when cott.SensAchatVente = 'A' then cots.QuantiteEnPartsEntieres
end as Quantite
,v.ValeurId
,v.LibelleLongValeur as LibelleValeur
from comptes_operationstitres cots
inner join Comptes_OperationsTitres_TypesOperationsSGP cott on
cots.IdTypeOperationSGP = cott.IdTypeOperationSGP
inner join valeurs v on cots.ValeurId = v.ValeurId
where CompteTitreId = @compteTitreId and DateReference <= @datePosition
and cots.Annule = 0) OpTitres
group by ValeurId, LibelleValeur
having sum(Quantite) <> 0) Cumul inner join Valeurs v on Cumul.ValeurId =
v.ValeurId
inner join Comptes c on c.CompteId = @compteTitreId
) Cumul2) Cumul3
J'avais utilisé d'abord des CTE mais je les ai enlevé, un info trouvé sur
le net, m'ayant laissé supposé que le problème venait de là mais sans
résultat.
Pour l'attribut [Microsoft.SqlServer.Server.SqlFunction(DataAccess =
DataAccessKind.Read)], je l'ai bien spécifié.
Merci
"Fred" a écrit dans le message de
news:%"Clark [MVP CRM]" a écrit dans le message de
news:Bonjour
Bonjour,
En complément de indications de Med BouchenafaJ'ai créé une fonction sql clr en c#. Depuis celle-ci j'appelle une
procédure stockée standard.
Je ne vois pas de procédure stockée dans le code mais je ne pense pas que
tu puisses altérer les données dans une fonction crl (de même qu'on ne
peut apeler une procédure stockée dans une fonction sql)
Ce n'est pas le cas dans ton code cependant.J'obtiens cette erreur
System.Data.SqlClient.SqlException: Cette instruction a essayé d'accéder
à des données dont l'accès est restreint par l'assembly.
j'ai mis un attribut sur la fonction dans un scénario analogue.
SqlFunctionAttribute avec le paramètre DataAccess à DataAccessKind.Read
(Je ne me souviens plus si cela fonctionnait sans et je ne peux tester
maintenant.)
--
Fred