Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2016.01.10;
Скачать: [xml.tar.bz2];

Вниз

разный результат запросов напрямую к Ora и через линк   Найти похожие ветки 

 
OW ©   (2011-05-25 17:38) [0]

Пишу запрос к БД MSSQL

 SELECT*
 FROM openquery (SDMRD, "  --SDMRD - линк на oracle-сервер
select *
from SDMRD.OMS_EXPORT_LOG EL
where EL.EXPORT_END_DATE IS NOT NULL
 ");
1274 rows

пишу к Oracle
select *
from SDMRD.OMS_EXPORT_LOG EL
where EL.EXPORT_END_DATE IS NOT NULL
1311 записей выбрано

и так по нескольку раз - оба результата со временем меняются (+ одна две записи в минуту, это нормально, т.к. работа идет,
НО!
через линк их стабильно меньше на 50 примерно.
)

какая-то известная вещь/трабла?


 
OW ©   (2011-05-25 17:38) [1]

MySQL - случайно выбрал


 
OW ©   (2011-05-25 17:40) [2]

EL.EXPORT_END_DATE - тип столбца в oracle DATE, nullable


 
Кщд   (2011-05-26 07:35) [3]

1. Убедиться, что db_link и linked server настроены на одну и ту же базу/схему;
2. Заменить * на count(1), результаты сравнить;
3. Привести ddl создания таблицы;
4. create table tmp_OMS_EXPORT_LOG as select * from OMS_EXPORT_LOG. Повторить (2) для новой таблицы.


 
OW ©   (2011-05-26 08:52) [4]

1) да
2) также
3) forward
4) одинаково

3)
CREATE TABLE "OMS1"."OMS_EXPORT_LOG"
  ( "ID" NUMBER NOT NULL ENABLE,
"REQUEST_ID" NUMBER NOT NULL ENABLE,
"ROLE_ID" NUMBER NOT NULL ENABLE,
"EXT_SYSTEM_ID" NUMBER NOT NULL ENABLE,
"EXPORT_START_DATE" DATE NOT NULL ENABLE,
"EXPORT_END_DATE" DATE,
"IMPORT_START_DATE" DATE,
"IMPORT_END_DATE" DATE,
"WORKING_ID" NUMBER,
 CONSTRAINT "EXPORT_LOG_PK" PRIMARY KEY ("ID")
 USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
 TABLESPACE "USERS"  ENABLE,
 SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS,
 SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS,
 SUPPLEMENTAL LOG DATA (UNIQUE INDEX) COLUMNS
  ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
 TABLESPACE "USERS" ;

 CREATE UNIQUE INDEX "OMS1"."EXPORT_LOG_PK" ON "OMS1"."OMS_EXPORT_LOG" ("ID")
 PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
 TABLESPACE "USERS" ;

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" ADD CONSTRAINT "EXPORT_LOG_PK" PRIMARY KEY ("ID")
 USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
 TABLESPACE "USERS"  ENABLE;

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" MODIFY ("ID" NOT NULL ENABLE);

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" MODIFY ("REQUEST_ID" NOT NULL ENABLE);

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" MODIFY ("ROLE_ID" NOT NULL ENABLE);

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" MODIFY ("EXT_SYSTEM_ID" NOT NULL ENABLE);

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" MODIFY ("EXPORT_START_DATE" NOT NULL ENABLE);

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" ADD SUPPLEMENTAL LOG DATA (UNIQUE INDEX) COLUMNS;


 
OW ©   (2011-05-26 08:56) [5]


> 1. Убедиться, что db_link и linked server настроены на одну
> и ту же базу/схему;

хотя, нет
для линка есть специальный пользователь SDMRD, у него нет своих таблиц

у него есть
 GRANT DELETE ON "OMS1"."OMS_EXPORT_LOG" TO "SDMRD";

 GRANT INSERT ON "OMS1"."OMS_EXPORT_LOG" TO "SDMRD";

 GRANT SELECT ON "OMS1"."OMS_EXPORT_LOG" TO "SDMRD";

 GRANT UPDATE ON "OMS1"."OMS_EXPORT_LOG" TO "SDMRD";


 
Кщд   (2011-05-26 09:09) [6]

>OW ©   (26.05.11 08:56) [5]
как согласуется:
>для линка есть специальный пользователь SDMRD, у него нет своих таблиц

с:

select *
from SDMRD.OMS_EXPORT_LOG EL
where EL.EXPORT_END_DATE IS NOT NULL


?


 
Кщд   (2011-05-26 09:11) [7]

>OW ©   (26.05.11 08:52) [4]

>2) также
также - результаты равны?

>4) одинаково
одинаково - результаты равны?


 
OW ©   (2011-05-26 09:38) [8]


> как согласуется:
> >для линка есть специальный пользователь SDMRD, у него нет
> своих таблиц
> с
> select *
> from SDMRD.OMS_EXPORT_LOG EL
> where EL.EXPORT_END_DATE IS NOT NULL
> ?


у него есть гранты на эти таблицы. И данные видны.
Но не все, получается


> Кщд   (26.05.11 09:11) [7]

да
да


 
OW ©   (2011-05-26 10:01) [9]

похоже, опять из-за интерпретации NULL все..

к MSSQL
 SELECT*
 FROM openquery (SDMRD, "
select *
     from OMS_EXPORT_LOG EL
where (EL.EXPORT_END_DATE IS NULL or EL.EXPORT_END_DATE = """")
");
21 запись

к ORA
select *
     from OMS_EXPORT_LOG EL
where (EL.EXPORT_END_DATE IS NULL or EL.EXPORT_END_DATE = "")
27 записей


 
OW ©   (2011-05-26 10:10) [10]


> or EL.EXPORT_END_DATE = ""

не, это вообще ни к чему,
просто is null - те же результаты


 
OW ©   (2011-05-26 10:22) [11]

MSSQL
 SELECT *  FROM openquery (SDMRD, " select *   from OMS_EXPORT_LOG ");
 1304 записи
 EXEC ("select *  from OMS_EXPORT_LOG ") AT SDMRD;
 1304 записи

ORACLE
 select * from OMS_EXPORT_LOG
 1346 записей

пора админов грузить, это маразм какой то


 
Кщд   (2011-05-26 10:54) [12]

>OW ©   (26.05.11 10:22) [11]
темните
в условиях: для линка есть специальный пользователь SDMRD, у него нет своих таблиц

запрос:

select *
from SDMRD.OMS_EXPORT_LOG EL
where EL.EXPORT_END_DATE IS NOT NULL

не будет выполняться.

Покажите реальные запросы и озвучьте инструмент(ы), из которого(ых) эти запросы выполняете.


 
Кщд   (2011-05-26 10:57) [13]

>OW ©   (26.05.11 10:22) [11]
ещё раз
запрос

select *   from OMS_EXPORT_LOG

выполненный под ползователем Oracle SDMRD, вернет данные из таблицы, расположенной в схеме SDMRD, а не OMS1.

каковы результаты на

select *
from OMS1.OMS_EXPORT_LOG EL
where EL.EXPORT_END_DATE IS NOT NULL

?


 
OW ©   (2011-05-26 12:33) [14]


> Кщд   (26.05.11 10:54) [12]
>
> >OW ©   (26.05.11 10:22) [11]
> темните

нет. Все исходные данные привел правильные.
http://zalil.ru/31124452
За исключением тех, о которых не знал, а именно:

Разобрался с вопросом, на самом деле.
Там был на логон именно этого юзера повешен админами БД триггер, который менял одну переменную, которая участвует в полайсах запроса.
т.е. некоторые записи для этого юзера были не видны.


 
OW ©   (2011-05-26 12:40) [15]


> одну переменную, которая участвует в полайсах запроса.

ну не так, разумеется, а в полайсах на таблицу, но суть не меняется, именно ему,SDMRD, "секретные" записи, определенные неким полем в таблице, не доступны


 
Кщд   (2011-05-26 12:45) [16]

либо на logon для пользователя SDMRD меняется текущая схема(на OMS1), либо на схеме SDMRD создан синоним для OMS_EXPORT_LOG.

без вариантов.


 
OW ©   (2011-05-26 12:47) [17]


>  либо на схеме SDMRD создан синоним для OMS_EXPORT_LOG

есть такое дело



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2016.01.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.002 c
3-1306327887
yurikon
2011-05-25 16:51
2016.01.10
Подключение к MySQL без ODBC


15-1431453196
Kerk
2015-05-12 20:53
2016.01.10
Опознание


4-1274796190
Monarch
2010-05-25 18:03
2016.01.10
Проблема с активацией окна


15-1430976616
SKIPtr
2015-05-07 08:30
2016.01.10
выполнить задание при спящем режиме


2-1404474828
ivashka
2014-07-04 15:53
2016.01.10
Вертикальный текст





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский