Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / не работает EntityDataReader / 12 сообщений из 12, страница 1 из 1
12.11.2013, 16:55
    #38462319
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает EntityDataReader
Скажите пожалуйста,

автор 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
12.11.2013, 17:19
    #38462388
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает EntityDataReader
Может как обычно set nocount on ?
...
Рейтинг: 0 / 0
12.11.2013, 17:22
    #38462398
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает EntityDataReader
buserМожет как обычно set nocount on ?

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

не понял....
...
Рейтинг: 0 / 0
12.11.2013, 21:52
    #38462726
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает EntityDataReader
vahbuserEntities.mission ? [dbo].[mission] ?
не понял....
Это я туплю :)
...
Рейтинг: 0 / 0
12.11.2013, 23:56
    #38462837
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает EntityDataReader
Надеюсь, Вы уже все победили :) Но если нет... тогда избавьтесь от временной таблицы. после чего удалите и импортируйте заново процедуру в модель...
Избавиться можно так: 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
13.11.2013, 08:26
    #38462963
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает EntityDataReader
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
13.11.2013, 11:39
    #38463179
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает EntityDataReader
все остальное в else... я забыл вставить...
думалось... это поможет от SET FMTONLY ON;
Но не поможет :) тогда... попробуйте заменить #tmp на переменную @tmp (коли не хотите функцию юзать) и импортировать пр-ру заново
У мене нема студии чтоб вам тестик слепить...
...
Рейтинг: 0 / 0
13.11.2013, 14:16
    #38463403
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает EntityDataReader
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
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / не работает EntityDataReader / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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