|
|
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
Как извлечь список баз установленных на локальном компьютере В Oracle - просто пропарсить tnsnames.ora или реестр Как это сделать в ASA/ASE ? Просто не хочется портить интерфейс. Есть у кого-нибудь предложения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 17:48 |
|
||
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
В ASA нет такого понятия как "список баз на локальном компьютере". В ASA запускаешь процедуру db_locate_servers() получаешь список всех серверов в LAN, потом для каждого из серверов по очереди пытаешься подконнектится без указания базы, и если сумел даешь команду select "Alias" from sa_db_info(); и получаешь список всех баз запущеных на этом сервере. Если не сумел подключится ни к одной базе на серевре - облом, задача не решается. Ну а так как db_locate_servers() это функция из dblib требующая колбеков, то на чистом PB задача не решается вообще. --- http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 18:37 |
|
||
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
Для ASE это отражено в таблице master..sysdatabases. Также как и в MS SQL... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 18:51 |
|
||
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
Маленькое добавление по терминологии Как извлечь список баз установленных на локальном компьютере В Oracle - просто пропарсить tnsnames.ora В tnsnames.ora как раз НЕ прописываются базы (в подавляющем большинстве случаев), установленные на ЛОКАЛЬНОМ компе. Там прописываются базы, к которым есть ДОСТУП с данного локального компа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 10:25 |
|
||
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
На oracle можно ходить и без tnsnames.ora вот так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 10:45 |
|
||
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
tru55Маленькое добавление по терминологии Как извлечь список баз установленных на локальном компьютере В Oracle - просто пропарсить tnsnames.ora В tnsnames.ora как раз НЕ прописываются базы (в подавляющем большинстве случаев), установленные на ЛОКАЛЬНОМ компе. Там прописываются базы, к которым есть ДОСТУП с данного локального компа И это тоже не соответствует действительности :) В tnsnames прописываются лишь отображения алиасов(имен) и адресов серверов БД. Алиас в общем случае может указывать на несуществующую БД. Кроме того как было отмечено, доступ к БД можно осуществить вообще без алиаса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 11:55 |
|
||
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky tru55Маленькое добавление по терминологии Как извлечь список баз установленных на локальном компьютере В Oracle - просто пропарсить tnsnames.ora В tnsnames.ora как раз НЕ прописываются базы (в подавляющем большинстве случаев), установленные на ЛОКАЛЬНОМ компе. Там прописываются базы, к которым есть ДОСТУП с данного локального компа И это тоже не соответствует действительности :) В tnsnames прописываются лишь отображения алиасов(имен) и адресов серверов БД. Алиас в общем случае может указывать на несуществующую БД. Кроме того как было отмечено, доступ к БД можно осуществить вообще без алиаса. Ну, это уже копание в мелочах Этак и я могу покритиковать 1. кроме алиасов, в tnsnames прописывается SID или SERVICE_NAME базы (а что такое отображение адреса, я вообще не знаю) 2. алиас может указывать на несуществующую базу. Однако, с таким же успехом на несуществующую базу может указывать и SID базы (не говоря уже о том, что существующая база м.б. выключена) 3. я в курсе, что доступ к базе Oracle может осуществляться без алиаса и без tnsnames. В Oracle существуют несколько разных способов разрешения имен - host naming, через Oracle Internet Directory, Oracle Names (устаревший), local naming (вот это как раз через tnsnaming), через External naming PS Поэтому, когда я писал, что "к ним имеется доступ", имелся ввиду ПОТЕНЦИАЛЬНЫЙ доступ (а реальный доступ проверяет tnsping, и то с оговорками) PPS в предыдущем посте я просто не хотел углублятся в эти детали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 12:30 |
|
||
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
tru55 Anatoly MoskovskyВ tnsnames прописываются лишь отображения алиасов(имен) и адресов серверов БД. 1. кроме алиасов, в tnsnames прописывается SID или SERVICE_NAME базы (а что такое отображение адреса, я вообще не знаю) Отображение имен и адресов серверов - это задание соответствия множества адресов серверов множеству имен. Все записи в tnsnames являются описанием алиасов. SID или SERVICE_NAME не описываются в tnsnames, а могут лишь указываться там как часть адреса сервиса, наряду со множеством других атрибутов. PPS в предыдущем посте я просто не хотел углублятся в эти детали Вы привели информацию и озаглавили ее как дополнение к терминологии, хотя термин ДОСТУП был применен некорректно - tnsnames за доступ вообще не отвечает (так же как и телефонный справочник например за телефонную связь). Так что я не детализировал, а поправлял приведенную информацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 13:14 |
|
||
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
Ну, если уж конкретно по терминологии и выражениям... 1. Там прописываются базы, к которым есть ДОСТУП tnsnames за доступ вообще не отвечает Где я говорил, что tnsnames отвечает за доступ? Он используется процессом разрешения имен, который имеет отношение к доступу к БД 2. кроме алиасов, в tnsnames прописывается SID или SERVICE_NAME базы SID или SERVICE_NAME не описываются в tnsnames Я сказал "прописываются", т.е. указываются, а не "описываются". К слову сказать, эти вещи вообще нигде не "описываются", например service_names - это всего лишь параметр базы, задаваемый в виде service_names = <значение> в файле параметров, под этим именем экземпляр регистрируется в listener 3. В tnsnames прописываются лишь отображения алиасов(имен) ну и уж совсем из смежной области. Есть люди, которые имеют псевдонимы / клички. Значит ли это, что указывая псевдоним, я совсем ничего не обозначаю, или все таки это способ указания на КОНКРЕТНОГО человека PS а вообще мое уточнение касалось, в основном, фразы, выделенной мной в посте, т.е. ключевое слово локальных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 13:53 |
|
||
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
Спасибо, конечно Но для Oracle у меня и так все отработано Поставим вопрос по другому: Как в ASA/ASE сделать красивый выпадающий список с выбором БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 10:39 |
|
||
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, насчет выражения - локальных Но я думаю и так все поняли Редко у кого локально Oracle крутится с нормальной базой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 10:41 |
|
||
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
Если речь идет о функциональности, аналогичной tnsnames, то взять список всех ODBC источников и отфильтровать его по драйверу. Не знаю есть ли для этого отдельные вызовы в ODBC API, но в любом случае эту информацию можно узнать из реестра: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources - список, HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\<DSN> - описание конкретного DSN Для общих DSN нужно смотреть в HKEY_LOCAL_MACHINE, для личных - в те же ветки HKEY_CURRENT_USER ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 10:59 |
|
||
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
Спасибо, должно подойти Это же примерно я для mdb-ников делал когда-то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 12:38 |
|
||
|
Список локальных баз
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyто взять список всех ODBC источников и отфильтровать его по драйверу. Не знаю есть ли для этого отдельные вызовы в ODBC APIЕсть конечно. SQLDataSources() - выдаст список имен всех объявленных в системе DSN (юзерских или системных или и тех и других) и имена драйверов на которых эти DSN построены. --- http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 18:21 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=34118447&tid=1337515]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 397ms |

| 0 / 0 |
