powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как подключится к проекту Access через ODBC?
19 сообщений из 19, страница 1 из 1
Как подключится к проекту Access через ODBC?
    #32600826
Существует ли в природе драйвер ODBC для подключения к проектам Access *.adp.

Основная проблема такая - имеется скомпилированное (т.е. исходников нема) коммерческое ПО работающее с базой данных Access. Источником информации о подключении является файл DSN. Надо перевести базу на SQL2000. Идея была экспортировать базу средствами Access и забубенить проект Access в файл DSN
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32600845
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
похоже ты путаешься с терминологией,
но если я правильно понял что ты имеешь ввиду то скорее всего у тебя ничего не получится.

ты сможешь MDB подключить к MSSQL (а не к ADP как ты выразился)
через DSN только такое изменение все равно потребует переписывание (хотя и зачастую незначительное ) кода программы.

хотя бы рекордсетам нужно будет поставить dbseechanges или snapshot а если код недоступен... увы.

Вероятность того что коммерческое приложение написано полностью на макросах =0
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32600960
Для прояснения ситуации . Дело было так.

Программа использует базу данных Access (MDB) просто как хранилище - в базе никаких макросов и прочей лабуды нет - есть только таблицы и запросы.
Я попробовал перевести базу mdb в базу на SQL2000 - визард перегнал мне таблички а запросы я ручками переписал. В файле DSN поставил подключение на SQLServer. Эти "танцы с бубном" программа схавала - запустилась и даже чето качала причем правильно делала запросы к view'am и корректно качала двоичные данные - текстурки отображались правильно (программка относится к Cad-системам). Но на один простой запрос вида select * from mytable в трассировщике ODBC выходит такая лажа типа "неверный индекс дескриптора" - что это такое и счем его едят я не в курсе.
Вот я и хочу перебросить данные на SQLServer а программе оставить "затычку" в виде проекта ADP с линком на SQL, а вот дров ODBC для доступа к ПРОЕКТУ ACCESS я не видел. Делать "затычку" в виде mdb как то неполучилось - счетчик не работает( при добавлении новой записи счетчик не увеличивается а долбит ноль).
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32601013
О! или вот такую схему можно ли замонстрячить?
mdb --> adp --> sql

Вся эта катавасия затеивается по причине очень замороченных view'ов - у клиентов большие тормоза. Хочется все расчеты перевести на сервер благо техника позволяет.
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32601048
йцук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какой бред

человек, может тебе книжки почитать для начала?
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32601335
йцуккакой бред

человек, может тебе книжки почитать для начала?
Давайте уровень моей профпригодности оставим на потом...

Перефразирую вопрос: как (возможно ли) перенести данные из Access на SQLServer не изменяя клиента при этом зная что клиент пользуется стандартным ADO и параметры соединения черпает из файла DSN. в базе данных Access есть только таблицы и запросы.
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32601517
йцук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно
берите и переносите
хоть руками, хоть мастерами аксеса, хоть DTS'ом
только оно не заработает (скорее всего)

буквы "adp" вам совершенно не нужны. к adp линковаться через DSN - все равно что к произвольному экзешнику через OLEDB
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32601587
То есть предлагаете перебросить данные на SQL а в Access'е заменить таблицы и запросы на линки? Я вот так делал - но при добавлении записи в таблице не инициализируется поле с уникальный ключом (счетчик). Не подскажете как это решить?

Насчет пессиместичного заявляния что "работать не будет" : если клиент будет видеть базу Access с таблицами (какая ему разница - таблица в базе или на сервере?) и общается с ним через ADO что в чем может быть проблема?
Типы данных у Access и SQLServer схожи - по крайней мере SQLServer типы Access поддержать должен.
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32601795
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей ПрескенисТо есть предлагаете перебросить данные на SQL а в Access'е заменить таблицы и запросы на линки? Я вот так делал - но при добавлении записи в таблице не инициализируется поле с уникальный ключом (счетчик). Не подскажете как это решить?


подсказываем в рамках DAO:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
' в одном модуле строка подключения - отмодулируй по месту
Public Const Conn_Str As String = "ODBC;DATABASE=tel;UID=sa;PWD=;DSN=tango"
' борьба со счётчиком в таблице на sql

Dim MyODBC As Workspace
Dim MyConn As Connection
Dim All_String As Variant
Dim Name_String As Variant
Dim Sql_String As String
Dim TestTable As Recordset
Set MyODBC = CreateWorkspace("", "admin", "", dbUseODBC)
 Set MyConn = MyODBC.OpenConnection("", , , Conn_Str)
 Sql_String = "Select * From Tcorp Where (Corp_Id = " & Me![Sp_Corp].Column( 0 ) & ")"
    
    Set TestTable = MyConn.OpenRecordset(Sql_String, dbOpenDynaset,  0 , dbPessimistic)
    
    With TestTable
       .Edit
       ![Corp_Name] = Name_String
       ![Corp_All] = All_String
       .Update
    End With
 TestTable.Close
 Me![Sp_Corp].Requery
   End If
 MyConn.Close
 MyODBC.Close
оно живое и шевелиться!
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32601825
йцук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Shuhard
Алексей Прескенисимеется скомпилированное (т.е. исходников нема) коммерческое ПО
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32601936
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
йцук2 Shuhard
Алексей Прескенисимеется скомпилированное (т.е. исходников нема) коммерческое ПО
виноват - не разглядел!
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32602145
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще раз повторюсь
ADP файл аксесса в отличие от мдбшного не является источником данных
он не хранит в себе данных, в нем только объекты доступа к данным - клиентская часть.

по этой причине не OLEDB ни ODBC драйвера к ADP нет и быть не может

нету там ни querydefs ни tabledefs все через коннект на сервере лежит.

на основании изложенного
высказывания типа:
авторО! или вот такую схему можно ли замонстрячить?
mdb --> adp --> sql
говорят о том что автор совершенно не имеет об ADP никакого представления.

НО твою коммерческую клиентскую часть можно подключить через файловый dsn к серверу если она сейчас работает через файловый дсн - заменив соответствующий файл.

НО она не будет работать если в коде коммерческой программы используются обновляемые рекордсеты без параметра dbseechanges
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32602864
Вчера сделал следующим образом.

Перенес таблицы на SQLServer, в базе данных Access таблицы заменил на линки к серверу а запросы оставил такие как есть. Файл DSN менять не пришлось - программа стучится в ту же базу Access только данные на сервере. Запустил... Заработало...
Но есть маленькая проблема. Иногда не добавляются записи - програма ругается следующим матом : "Ошибка вставки данных - не могу обновить поле". Самое интересное в этом "ИНОГДА" - иногда эти записи нормально добавляются. Смотрел я в профилёр SQLServer'a но видел там фигу - иногда транкзация проходит а иногда нет и явной причины я не узрел... Я как понял это тот диагноз который поставил Алексей К... Вопрос - можно ли как нибудь выпутаться из сложившейся ситуации?
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32602894
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Вопрос - можно ли как нибудь выпутаться из сложившейся ситуации?
Да. Перестать парится с MS SQL
или обратится к разработчику.
Или почитать документацию на вашу прогу.

Бессмысленно спрашивать, из-за чего некоторая программа выдает сообщения. Она их может выдавать вполне произвольно, и только автор знает как именно.
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32602926
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотреть схему данных в Access обращая внимание на :
- способы поддержания целостности;
- устройство ключей и вероятно счётчиков;

для эксперимента порубить внешние ключи на sql - оценить реакцию
если счётчики - возможны разные способы их замены средствами TSQL
(см надлежащий FAQ).
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32603072
Shuhardпосмотреть схему данных в Access обращая внимание на :
- способы поддержания целостности;
- устройство ключей и вероятно счётчиков;

для эксперимента порубить внешние ключи на sql - оценить реакцию
если счётчики - возможны разные способы их замены средствами TSQL
(см надлежащий FAQ).

Устройство ключей я повторил в точности - со счетчиками проблема отпала, зависимости вроде все соблюдаются.
Но та ошибка ("Не могу обновить данные") осталась
В отчете по переносу таблиц Access что то ругался на "условия на значения" (некоторые столбцы должны быть больше нуля или в некоем диапазоне) - но все эти штуки добавил - я пробовал вводить неправильные значения и он выдавал ошибку

Мне кажется у АлексеяК была здравая мысль, может он откликнется...
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32604194
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первичные ключи во всех таблицах есть?
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32605040
PAZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PAZ
Гость
АлексейК Первичные ключи во всех таблицах есть?
Есть. Во всех
...
Рейтинг: 0 / 0
Как подключится к проекту Access через ODBC?
    #32605152
PAZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PAZ
Гость
Это типа я - только логин сменил :)
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как подключится к проекту Access через ODBC?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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