powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / не работает EntityDataReader
12 сообщений из 12, страница 1 из 1
не работает EntityDataReader
    #38462319
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите пожалуйста,

автор using ( EntityConnection conn = new EntityConnection(makeConnectionString(this.login, this.pass)) )
{
try
{

conn.Open();

EntityCommand cmd = conn.CreateCommand();
cmd.CommandText = "Entities.mission";
cmd.CommandType = CommandType.StoredProcedure;

using (EntityDataReader read = cmd.ExecuteReader(CommandBehavior.SequentialAccess))
{
while (read.Read())
{
string prop = read["PropertyValue"].ToString();
}
}
return true;
}
catch
{
return false;
}
}



авторALTER PROCEDURE [dbo].[mission]
AS
BEGIN

IF OBJECT_ID('tempdb..#tmp') IS NOT NULL
DROP TABLE #tmp

CREATE TABLE #tmp(
[table_cat] [varchar](50) NULL,
[table_schem] [varchar](50) NULL,
[table_name] [varchar](50) NULL,
[column_name] [varchar](50) NULL,
[grantor] [varchar](50) NULL,
[grantee] [varchar](50) NULL,
[privilege] [varchar](50) NULL,
[is_grantable] [varchar](50) NULL
) ON [PRIMARY]

INSERT #tmp
EXEC sp_column_privileges_ex @table_server = 'sups-sql',@table_catalog ='OAVP'

SELECT PropertyValue,[SELECT],[INSERT],[UPDATE]
FROM
(SELECT b.PropertyValue,a.privilege, CASE WHEN a.is_grantable='YES' THEN 1 ELSE 0 end is_grantable FROM #tmp a
LEFT JOIN
(SELECT ep.value AS PropertyValue,
c.name AS column_name
FROM sys.objects o INNER JOIN sys.extended_properties ep
ON o.object_id = ep.major_id
INNER JOIN sys.schemas s
ON o.schema_id = s.schema_id
LEFT JOIN syscolumns c
ON ep.minor_id = c.colid
AND ep.major_id = c.id
WHERE o.type IN ('V', 'U', 'P') AND ep.name = 'MS_Description')b ON a.column_name=b.column_name)eee
PIVOT (min(is_grantable) FOR privilege IN ([SELECT],[INSERT],[UPDATE])) AS pvt

END


Хранимая процедура совершенно рабочая, EntityDataReader в нее заходит, но никакого результата не возвращает.


Что может быть?

Заранее благодарен.
...
Рейтинг: 0 / 0
не работает EntityDataReader
    #38462388
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может как обычно set nocount on ?
...
Рейтинг: 0 / 0
не работает EntityDataReader
    #38462398
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buserМожет как обычно set nocount on ?

не помогает...
я ща просто убрал
set nocount on
и
return
...
Рейтинг: 0 / 0
не работает EntityDataReader
    #38462428
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SequentialAccess накой?
...
Рейтинг: 0 / 0
не работает EntityDataReader
    #38462438
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя... это пох... :) где-то ошибка :)
...
Рейтинг: 0 / 0
не работает EntityDataReader
    #38462444
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Entities.mission ? [dbo].[mission] ?
...
Рейтинг: 0 / 0
не работает EntityDataReader
    #38462613
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buserEntities.mission ? [dbo].[mission] ?

не понял....
...
Рейтинг: 0 / 0
не работает EntityDataReader
    #38462726
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahbuserEntities.mission ? [dbo].[mission] ?
не понял....
Это я туплю :)
...
Рейтинг: 0 / 0
не работает EntityDataReader
    #38462837
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надеюсь, Вы уже все победили :) Но если нет... тогда избавьтесь от временной таблицы. после чего удалите и импортируйте заново процедуру в модель...
Избавиться можно так: sp_column_privileges_ex
Можно переписать процедуру так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
alter procedure [dbo].[mission]
as 
    begin
        set nocount on
        if 1 != 1 
            select  cast(null as sql_variant) as PropertyValue ,
                    cast(null as bit) as [SELECT] ,
                    cast(null as bit) as [INSERT] ,
                    cast(null as bit) as [UPDATE]
        ;
        create table #tmp
            (
              [table_cat] [varchar](50) null ,
              [table_schem] [varchar](50) null ,
              [table_name] [varchar](50) null ,
              [column_name] [varchar](50) null ,
              [grantor] [varchar](50) null ,
              [grantee] [varchar](50) null ,
              [privilege] [varchar](50) null ,
              [is_grantable] [varchar](50) null
            )

        insert  #tmp
                exec sp_column_privileges_ex @table_server = 'sups-sql',
                    @table_catalog = 'OAVP'

        select  PropertyValue ,
                [SELECT] ,
                [INSERT] ,
                [UPDATE]
        from    ( select    b.PropertyValue ,
                            a.privilege ,
                            case when a.is_grantable = 'YES' then 1
                                 else 0
                            end is_grantable
                  from      #tmp a
                            left join ( select  ep.value as PropertyValue ,
                                                c.name as column_name
                                        from    sys.objects o
                                                inner join sys.extended_properties ep on o.object_id = ep.major_id
                                                inner join sys.schemas s on o.schema_id = s.schema_id
                                                left join syscolumns c on ep.minor_id = c.colid
                                                              and ep.major_id = c.id
                                        where   o.type in ( 'V', 'U', 'P' )
                                                and ep.name = 'MS_Description'
                                      ) b on a.column_name = b.column_name
                ) eee pivot ( min(is_grantable) for privilege in ( [SELECT],[INSERT],[UPDATE] ) ) AS pvt

    end




P.S.: Кроме того... терзают меня смутные сомнения... на счет PropertyValue оно же sys.extended_properties.value имеющее тип sql_variant
P.P.S.: А вообще... не стоит нагружать EF несвойственными для него задачами... :) К сожалению не имею студии под рукой... да и возиться лень :)
...
Рейтинг: 0 / 0
не работает EntityDataReader
    #38462963
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buser,

можете пояснить, когда и как это сработает?

автор if 1 != 1
select cast(null as sql_variant) as PropertyValue ,
cast(null as bit) as [SELECT] ,
cast(null as bit) as [INSERT] ,
cast(null as bit) as [UPDATE]
;
...
Рейтинг: 0 / 0
не работает EntityDataReader
    #38463179
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все остальное в else... я забыл вставить...
думалось... это поможет от SET FMTONLY ON;
Но не поможет :) тогда... попробуйте заменить #tmp на переменную @tmp (коли не хотите функцию юзать) и импортировать пр-ру заново
У мене нема студии чтоб вам тестик слепить...
...
Рейтинг: 0 / 0
не работает EntityDataReader
    #38463403
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buserвсе остальное в else... я забыл вставить...
думалось... это поможет от SET FMTONLY ON;
Но не поможет :) тогда... попробуйте заменить #tmp на переменную @tmp (коли не хотите функцию юзать) и импортировать пр-ру заново
У мене нема студии чтоб вам тестик слепить...

если использую напрямую функцию

автор SELECT * FROM
sys.fn_remote_column_privileges('fjgfyj',
'jhkhf')
, то выдает такое сообщение:

авторMsg 208, Level 16, State 1, Line 1
Недопустимое имя объекта "sys.fn_remote_column_privileges".
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / не работает EntityDataReader
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]