Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 dblink to MS SQL не видит таблиц  [new]
Serguei
Member

Откуда: Papua New Guinea
Сообщений: 697
Сделал dblink из Oracle (10g) к MS SQL 2005 на MS SQL сервере крутится несколько баз данных.
Дблинк работает, НО:

Запрос
SELECT *
  FROM all_tables@mydblink

выдает только
OWNER	TABLE_NAME
dbo	backupfile
dbo	backupmediafamily
dbo	backupmediaset
dbo	backupset
dbo	logmarkhistory
dbo	restorefile
dbo	restorefilegroup
dbo	restorehistory
dbo	suspect_pages
какие то служебные таблицы

SELECT *
  FROM user_tables@mydblink
выдает пустой список.
Я так понимаю что какая то проблема с правами, однако, если я подключаюсь к mssql с помощью SQL Server Management Studio Express вижу все базы и таблицы замечательно.

Я так понимаю, что dblink подключается к какой то другой базе что ли, не той которую я указал в настройках ODBC. (Что подозрительно я ставлю галку в настройках ODBC Change the default database to MyDB, однако при следующем входе в настройки - эта галка не стоит.)

Подскажите плз в чем может быть дело.
13 июл 10, 13:37    [9094901]     Ответить | Цитировать Сообщить модератору
 Re: dblink to MS SQL не видит таблиц  [new]
Lecter
Member

Откуда: Киев
Сообщений: 2032
Serguei,

Вы подключились в БД MSDB. Но в ней Вы не видете и половины таблиц.
13 июл 10, 13:48    [9095034]     Ответить | Цитировать Сообщить модератору
 Re: dblink to MS SQL не видит таблиц  [new]
Lecter
Member

Откуда: Киев
Сообщений: 2032
Лично я советую получить максимальный уровень привилегия и посмотреть получите ли Вы полный набор таблиц.
13 июл 10, 14:00    [9095187]     Ответить | Цитировать Сообщить модератору
 Re: dblink to MS SQL не видит таблиц  [new]
Serguei
Member

Откуда: Papua New Guinea
Сообщений: 697
Lecter
Serguei,

Вы подключились в БД MSDB. Но в ней Вы не видете и половины таблиц.


я понимаю, что не ту базу вижу... Но как исправить?

Lecter
Лично я советую получить максимальный уровень привилегия и посмотреть получите ли Вы полный набор таблиц.


Я не являюсь админом на MS SQL - имею только права на чтения. C помощью SQL Server Management Studio я ведь вижу таблицы и могу делать к ним запросы - значит доступ есть...

Попробовать Native Client что ли...
13 июл 10, 14:07    [9095248]     Ответить | Цитировать Сообщить модератору
 Re: dblink to MS SQL не видит таблиц  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10045
Serguei
SELECT *
  FROM user_tables@mydblink
выдает пустой список.

Подскажите плз в чем может быть дело.


Well, does SQL Server id used in connection own any tables?

SY.
13 июл 10, 14:23    [9095429]     Ответить | Цитировать Сообщить модератору
 Re: dblink to MS SQL не видит таблиц  [new]
Serguei
Member

Откуда: Papua New Guinea
Сообщений: 697
SY

Well, does SQL Server id used in connection own any tables?

SY.

Не понял вопроса. :( Владеет ли SQL Server id, используемый в соединении, какими-либо таблицами?

Под тем пользователем, что подключаюсь через dblink я с помощью SQL Server Management Studio я вижу нужные таблицы. Значит получается владеет?
13 июл 10, 16:48    [9097085]     Ответить | Цитировать Сообщить модератору
 Re: dblink to MS SQL не видит таблиц  [new]
Lecter
Member

Откуда: Киев
Сообщений: 2032
Serguei,

Ладно давайте по порядку, Вы подключаетесь через пользователя SQL Server или через пользователя Windows? Вроде как только через пользователя Windows низя но все же.

автор

Я так понимаю, что dblink подключается к какой то другой базе что ли, не той которую я указал в настройках ODBC. (Что подозрительно я ставлю галку в настройках ODBC Change the default database to MyDB, однако при следующем входе в настройки - эта галка не стоит.)

А если указать базу явно? То есть моя_база.моя_схема.моя_табличка?( ЗЫ моя_схема нет то это либо dbo либо так моя_база..моя_табличка )
По идеи если права есть то так должно пустить 99%
Если нет то скорее всего у вас кривой ODBC. И если он не может запомнить базу к которой должен подрубиться то нам это как бы намекает.
13 июл 10, 17:28    [9097469]     Ответить | Цитировать Сообщить модератору
 Re: dblink to MS SQL не видит таблиц  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10045
Serguei
[quot SY]
Под тем пользователем, что подключаюсь через dblink я с помощью SQL Server Management Studio я вижу нужные таблицы. Значит получается владеет?


Вижу и владеет две большие разницы:

SQL> create user Serguei identified by Serguei
  2  /

User created.

SQL> grant create session to Serguei
  2  /

Grant succeeded.

SQL> grant select on emp to Serguei
  2  /

Grant succeeded.

SQL> connect Serguei
Enter password: *******
Connected.
SQL> select table_name from user_tables
  2  /

no rows selected

SQL> select table_name from all_tables
  2  /

TABLE_NAME
------------------------------
DUAL
SYSTEM_PRIVILEGE_MAP
TABLE_PRIVILEGE_MAP
STMT_AUDIT_OPTION_MAP
DEF$_TEMP$LOB
HELP
DR$OBJECT_ATTRIBUTE
DR$POLICY_TAB
DR$NUMBER_SEQUENCE
OGIS_SPATIAL_REFERENCE_SYSTEMS
OGIS_GEOMETRY_COLUMNS

TABLE_NAME
------------------------------
SDO_UNITS_OF_MEASURE
SDO_PRIME_MERIDIANS
SDO_ELLIPSOIDS
SDO_DATUMS
SDO_COORD_SYS
SDO_COORD_AXIS_NAMES
SDO_COORD_AXES
SDO_COORD_REF_SYS
SDO_COORD_OP_METHODS
SDO_COORD_OPS
SDO_PREFERRED_OPS_SYSTEM

TABLE_NAME
------------------------------
SDO_PREFERRED_OPS_USER
SDO_COORD_OP_PATHS
SDO_COORD_OP_PARAMS
SDO_COORD_OP_PARAM_USE
SDO_COORD_OP_PARAM_VALS
SDO_XML_SCHEMAS
XML_LOAD_RECORDS
XML_LOAD_LOG
SDO_PROJECTIONS_OLD_SNAPSHOT
SDO_CS_SRS
SDO_ELLIPSOIDS_OLD_SNAPSHOT

TABLE_NAME
------------------------------
SDO_DATUMS_OLD_SNAPSHOT
SDO_GEOR_XMLSCHEMA_TABLE
SDO_GEOR_PLUGIN_REGISTRY
EMP
AUDIT_ACTIONS
AW$EXPRESS
AW$AWCREATE10G
AW$AWMD
AW$AWREPORT
AW$AWCREATE
AW$AWXML

TABLE_NAME
------------------------------
MVIEW$_ADV_INDEX
MVIEW$_ADV_PARTITION
OLAP_OLEDB_KEYWORDS
OLAP_OLEDB_MDPROPVALS
OLAP_OLEDB_MDPROPS
OLAP_OLEDB_FUNCTIONS_PVT
SDO_ST_TOLERANCE
SDO_TXN_IDX_EXP_UPD_RGN
SDO_TXN_IDX_DELETES
SDO_TXN_IDX_INSERTS
SDO_GR_RDT_1

TABLE_NAME
------------------------------
SDO_GR_MOSAIC_3
SDO_GR_MOSAIC_2
SDO_GR_MOSAIC_1
SDO_GR_MOSAIC_0
SDO_TOPO_DATA$
SDO_TOPO_RELATION_DATA
SDO_TOPO_TRANSACT_DATA
MVIEW$_ADV_OWB
OLAPTABLEVELTUPLES
OLAPTABLEVELS
PLAN_TABLE$

TABLE_NAME
------------------------------
PSTUBTBL
ODCI_WARNINGS$
ODCI_SECOBJ$
OLAP_SESSION_CUBES
OLAP_SESSION_DIMS
CWM2$AWCUBECREATEACCESS
CWM2$AWDIMCREATEACCESS
CWM2$_TEMP_VALUES
CWM2$_AW_TEMP_CUST_MEAS_MAP
CWM2$_AW_NEXT_TEMP_CUST_MEAS
RLM$PARSEDCOND

TABLE_NAME
------------------------------
IMPDP_STATS
KU$_LIST_FILTER_TEMP
KU$NOEXP_TAB
OL$NODES
OL$HINTS
OL$
WRI$_ADV_ASA_RECO_DATA

84 rows selected.

SQL> 

И в принципе, MS SQLная Server-->Database-->Schema-->Table и Oracleовская Database-->Schema-->Table не есть соответствие один к одному. Поэтому я бы почитал доку по Oracle Transparent Gateway for SQL Server на предмет как формируются USER/ALL/DBA представления (если это в доке есть). Логин к MS SQL связан с пользователями на разных базах. Одна из них база по умолчанию. Покажет ли USER_TABLES обьекты из всех баз или только базы по умолчанию? Не знаю. И еще. До MS SQL 2005 все было одна схема - dbo. Было ли это исправлено в НS с появлением MS SQL 2005? И если да то в каких версиях? Не знаю.

SY.

Сообщение было отредактировано: 13 июл 10, 17:46
13 июл 10, 17:44    [9097598]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить