Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Переименование системного источника данных / 6 сообщений из 6, страница 1 из 1
08.10.2007, 21:17
    #34855271
oldTV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переименование системного источника данных
Привет всем!
Честно говоря не знаю в ту ли тему, хотя наверное в ту, т.к. это больше вопрос к Гуру скриптов.

Опишу задачку :
есть несколько system dsn, скажем, "MainDSN" и "ReserveDSN" с "SecondaryReserveDSN". В каждом источнике прописан пароль и прочие необходимые параметры. Разница только в одном: разные сервера баз.

есть некая программа, которая, ну так вот случилось, настроена на MainDSN и перенастраиваться не планируется ни в ближайшем, ни в далеком будущем. Программа работает, но вот переключаться на резервные сервера не умеет.

Проблема :

Программа работает под пользователем, без прав администратора (даже если ему их дать, есть следующий пункт).

Нет ни малейшего желания давать пароль sa.

Идея :
если MainDSN не отвечает, то саму программу, которая настроена именно на имя, менять не надо, надо только изменить источник данных. Подскажите пожалуста скрипт, если конечно это можно решить скриптом, который НЕ МЕНЯЯ ничего в параметрах самих DSN поможет сменить имя MainDSN на old_MainDSN, а имя ReserveDSN сменит на MainDSN. Все должно работать без админских прав или так, что-бы пользователь не вводил пароли с логинами.

Подскажите хотя бы направление, куда рыть.
Заранее спасибо
...
Рейтинг: 0 / 0
08.10.2007, 22:58
    #34855364
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переименование системного источника данных
Решение сходу:
Сделай набор строк коннекта в любом виде. Например как простой текстовый файл в котором каждая строка это строка возможного коннекта, первый сервер будет на первой строке, резервный на второй и так далее. При желании можешь этот файл зашифровать.
Делаешь маленькую программку на Си, которая будет читать файл этот файл, брать по очереди строки коннекта и через SQLDriverConnect пытаться подсоединится к серверу. Если удалось, то отключаешься от сервера и отдаешь успешную строку коннекта в функцию SQLConfigDataSource c флагом ODBC_CONFIG_DSN и жестко заданым именем самого DSN'а
Потом уже зовешь клиентскую программу. Можно оформить эту утилтку как запускалку для клиентской программы.
...
Рейтинг: 0 / 0
08.10.2007, 23:15
    #34855376
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переименование системного источника данных
Если не хочется возится с Си, хотя чего там возится? Делов то на полчаса-час максимум... Но вдруг?
Тогда можно взять odbcconf.exe (оно идет в составе самих виндов) и играться с ней.
Оно принимает команду CONFIGDSN или CONFIGSYSDSN и как параметр отдаешь ей строку коннекта. Для батника почти идеально, оно не проверит живой ли сервер на который показывает строка или не живой, но DSN переопределит запросто.
...
Рейтинг: 0 / 0
08.10.2007, 23:18
    #34855381
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переименование системного источника данных
А вот переименовывать DSN'ы не меняя ничего в их внутренностях без ковыряния в регистри нельзя.
...
Рейтинг: 0 / 0
09.10.2007, 09:23
    #34855698
мод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переименование системного источника данных
oldTV
Может так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]
"mch"="SQL Server"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MainDSN]
"Driver"="C:\\WINDOWS\\SYSTEM\\SQLSRV32.dll"
"Server"="server1"
"Trusted_Connection"="Yes"
"Database"="db1"
При необходимости менять "Server"="server2" и "Database"="db2"
...
Рейтинг: 0 / 0
09.10.2007, 09:47
    #34855773
oldTV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переименование системного источника данных
Спасибо, реестр помог. Осталось научиться проводить правку реестра по пользователем...
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Переименование системного источника данных / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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