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

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

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

Проблема :

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

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

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

Подскажите хотя бы направление, куда рыть.
Заранее спасибо
...
Рейтинг: 0 / 0
Переименование системного источника данных
    #34855364
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение сходу:
Сделай набор строк коннекта в любом виде. Например как простой текстовый файл в котором каждая строка это строка возможного коннекта, первый сервер будет на первой строке, резервный на второй и так далее. При желании можешь этот файл зашифровать.
Делаешь маленькую программку на Си, которая будет читать файл этот файл, брать по очереди строки коннекта и через SQLDriverConnect пытаться подсоединится к серверу. Если удалось, то отключаешься от сервера и отдаешь успешную строку коннекта в функцию SQLConfigDataSource c флагом ODBC_CONFIG_DSN и жестко заданым именем самого DSN'а
Потом уже зовешь клиентскую программу. Можно оформить эту утилтку как запускалку для клиентской программы.
...
Рейтинг: 0 / 0
Переименование системного источника данных
    #34855376
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не хочется возится с Си, хотя чего там возится? Делов то на полчаса-час максимум... Но вдруг?
Тогда можно взять odbcconf.exe (оно идет в составе самих виндов) и играться с ней.
Оно принимает команду CONFIGDSN или CONFIGSYSDSN и как параметр отдаешь ей строку коннекта. Для батника почти идеально, оно не проверит живой ли сервер на который показывает строка или не живой, но DSN переопределит запросто.
...
Рейтинг: 0 / 0
Переименование системного источника данных
    #34855381
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот переименовывать DSN'ы не меняя ничего в их внутренностях без ковыряния в регистри нельзя.
...
Рейтинг: 0 / 0
Переименование системного источника данных
    #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
Переименование системного источника данных
    #34855773
oldTV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, реестр помог. Осталось научиться проводить правку реестра по пользователем...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Переименование системного источника данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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