powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как изменить строку подключения в таблице MSysObjects
10 сообщений из 10, страница 1 из 1
Как изменить строку подключения в таблице MSysObjects
    #32038024
Фотография Mix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читал хэлп ... ничего не понял, умные люди, подскажите...
у меня приложение клиентское связано с sqlServer7.0
там все таблицы вязаны мастером, а одну я сам... так access сволочь... ее по другому прописал...
и каждый раз когда я нового клиента создаю, у него на машине приходится прописывать dsn вручную, только для того чтоб видел эту одну таблицу, едрить ее...
ПОМОГИТЕ, ПЛИЗ!

мне надо просто изменить строку подключения в таблице MSysObjects, а система не дает, говорит прав нету
...
Рейтинг: 0 / 0
Как изменить строку подключения в таблице MSysObjects
    #32038098
Seryoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чесно сказать - понял только то, что Вы сильно растроены %))))))))))) Вязаны куда? Руками что? А что в ДСНе менять приходится? По-другому - это как???
...
Рейтинг: 0 / 0
Как изменить строку подключения в таблице MSysObjects
    #32038329
Mixy Mix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. мастер месяц назад, связал /*23 штуки*/ таблицы на сервере с клиентским приложением которое стоит у меня и еще на двенадцати машинах, но на клиенте остались еще и локальные таблицы (4 штуки)
2. прошло некоторое время и я перевесил еще одну (24ую)таблицу, но теперь связал уже не мастером, а руками /*создал системный DSN, выбрал из базы на сервере эту таблицу и связал свое клиентское приложение с ней*/
суть проблемы в том что:
в таблице MSysObjects в поле Connect, в записи соответствующей этой (24ой) таблице, мне надо руками переправить ту строку подключения, что там написана

/*DSN=MyDB;Description=MyDB;UID=login;APP=Microsoft® Access;WSID=SERVER;DATABASE=MyDB;Trusted_Connection=Yes*/

на другую

/*DRIVER=SQL Server;SERVER=LOCAL-SRV;UID=login;APP=Microsoft® Access;WSID=SERVER;DATABASE=MyDB*/

, для того чтобы юзеры /*а они все у меня все заходят под одним логином*/, могли по дефолту иметь доступ к этой таблице, также как они имеют доступ к остальным двадцати трем...
проще говоря не могу отредактировать эту запись. :)
...
Рейтинг: 0 / 0
Как изменить строку подключения в таблице MSysObjects
    #32038427
Sergic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да-да. Меня тоже это интересует. Отвечайте, джедаи. А то задолбало каждый раз по телефону объяснять юзерам, как диспетчером связанных таблиц пользоваться.
...
Рейтинг: 0 / 0
Как изменить строку подключения в таблице MSysObjects
    #32038564
Erika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если создать не системный, а файловый DSN (который и создал визард), то все получится. Эти DSN хранятся по умолчанию в пампочке Program Files\Common Files\ODBC\Data Sources , а Access при связывании копирует строку подключения из этого файла, после чего он ему больше не нужен.

Отредактировать руками MSysObjects , наверно, не выйдет - надо убить связь и связать снова через файловый DSN.
...
Рейтинг: 0 / 0
Как изменить строку подключения в таблице MSysObjects
    #32038595
duremar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо просто было стереть линк на таблицу (саму таблицу) и прицепить её через DSN. А потом просто расставить этот мдб-шник юзерам.
...
Рейтинг: 0 / 0
Как изменить строку подключения в таблице MSysObjects
    #32038743
Mixy Mix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто замечательно... :)))
СПАСИБО ОГРОМНОЕ!
все получилось, только ...
я не понял чем системный DSN отличается от файлового... видимо файловый имеет права ядра JET что ли, раз с него в системные таблицы вроде MSysObjects может записываться строка коннекта.
(да нет бред какой то)...

Стыдно, но Вы не могли бы объяснить на пальцах.
...
Рейтинг: 0 / 0
Как изменить строку подключения в таблице MSysObjects
    #32038776
Erika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строку коннекта записывает и тот и другой DSN, только строки разные.
Насколько я понимаю, user и system DSN машинно-зависимы и прописываются в реестр. И Access ссылается на них по названию в реестре (DSN=MyDB). А файловый DSN нигде кроме файла с соотв. расширением ничего не прописывает, этот файл можно использовать на любой машине(были бы драйвера), а Access так просто копирует содержимое этого файла как строку подключения.

MSDN:
Data sources are the databases or files accessed by a driver and are identified by a data source name (DSN). Use the ODBC Data Source Administrator to add, configure, and delete data sources from your system.

The types of data sources:
User DSNs are local to a computer and can be used only by the current user. They are registered in the HKEY_CURRENT_USER registry subtree.
System DSNs are local to a computer rather than dedicated to a user. The system or any user with privileges can use a data source set up with a system DSN. System DSNs are registered in the HKEY_LOCAL_MACHINE registry subtree.
File DSNs are file-based sources that can be shared among all users who have the same drivers installed and therefore have access to the database. These data sources need not be dedicated to a user nor be local to a computer. File data source names are not identified by dedicated registry entries; instead, they are identified by a file name with a .dsn extension.
User and system data sources are collectively known as machine data sources because they are local to a computer.
...
Рейтинг: 0 / 0
Как изменить строку подключения в таблице MSysObjects
    #32038780
Фотография Mix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо огромное, Erika, все теперь понятно...
...
Рейтинг: 0 / 0
Как изменить строку подключения в таблице MSysObjects
    #32040691
SSY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для строки вида

/*DRIVER=SQL Server;SERVER=LOCAL-SRV;UID=login;APP=Microsoft® Access;WSID=SERVER;DATABASE=MyDB*/

DSN вообще не нужен (только имя драйвера надо в фигурные скобки взять: {SQL Server})

просто

MyTableDef.Connect="ODBC;DRIVER={SQL Server};SERVER=LOCAL-SRV;UID=login;APP=Microsoft® Access;WSID=SERVER;DATABASE=MyDB"
MyTableDef.RefreshLink

И всё!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как изменить строку подключения в таблице MSysObjects
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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