|
|
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
Существует ли в природе драйвер ODBC для подключения к проектам Access *.adp. Основная проблема такая - имеется скомпилированное (т.е. исходников нема) коммерческое ПО работающее с базой данных Access. Источником информации о подключении является файл DSN. Надо перевести базу на SQL2000. Идея была экспортировать базу средствами Access и забубенить проект Access в файл DSN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 09:35:40 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
похоже ты путаешься с терминологией, но если я правильно понял что ты имеешь ввиду то скорее всего у тебя ничего не получится. ты сможешь MDB подключить к MSSQL (а не к ADP как ты выразился) через DSN только такое изменение все равно потребует переписывание (хотя и зачастую незначительное ) кода программы. хотя бы рекордсетам нужно будет поставить dbseechanges или snapshot а если код недоступен... увы. Вероятность того что коммерческое приложение написано полностью на макросах =0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 09:44:10 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
Для прояснения ситуации . Дело было так. Программа использует базу данных Access (MDB) просто как хранилище - в базе никаких макросов и прочей лабуды нет - есть только таблицы и запросы. Я попробовал перевести базу mdb в базу на SQL2000 - визард перегнал мне таблички а запросы я ручками переписал. В файле DSN поставил подключение на SQLServer. Эти "танцы с бубном" программа схавала - запустилась и даже чето качала причем правильно делала запросы к view'am и корректно качала двоичные данные - текстурки отображались правильно (программка относится к Cad-системам). Но на один простой запрос вида select * from mytable в трассировщике ODBC выходит такая лажа типа "неверный индекс дескриптора" - что это такое и счем его едят я не в курсе. Вот я и хочу перебросить данные на SQLServer а программе оставить "затычку" в виде проекта ADP с линком на SQL, а вот дров ODBC для доступа к ПРОЕКТУ ACCESS я не видел. Делать "затычку" в виде mdb как то неполучилось - счетчик не работает( при добавлении новой записи счетчик не увеличивается а долбит ноль). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 10:27:17 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
О! или вот такую схему можно ли замонстрячить? mdb --> adp --> sql Вся эта катавасия затеивается по причине очень замороченных view'ов - у клиентов большие тормоза. Хочется все расчеты перевести на сервер благо техника позволяет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 10:43:11 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
какой бред человек, может тебе книжки почитать для начала? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 10:51:56 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
йцуккакой бред человек, может тебе книжки почитать для начала? Давайте уровень моей профпригодности оставим на потом... Перефразирую вопрос: как (возможно ли) перенести данные из Access на SQLServer не изменяя клиента при этом зная что клиент пользуется стандартным ADO и параметры соединения черпает из файла DSN. в базе данных Access есть только таблицы и запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 12:07:39 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
можно берите и переносите хоть руками, хоть мастерами аксеса, хоть DTS'ом только оно не заработает (скорее всего) буквы "adp" вам совершенно не нужны. к adp линковаться через DSN - все равно что к произвольному экзешнику через OLEDB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 12:54:03 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
То есть предлагаете перебросить данные на SQL а в Access'е заменить таблицы и запросы на линки? Я вот так делал - но при добавлении записи в таблице не инициализируется поле с уникальный ключом (счетчик). Не подскажете как это решить? Насчет пессиместичного заявляния что "работать не будет" : если клиент будет видеть базу Access с таблицами (какая ему разница - таблица в базе или на сервере?) и общается с ним через ADO что в чем может быть проблема? Типы данных у Access и SQLServer схожи - по крайней мере SQLServer типы Access поддержать должен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 13:14:57 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
Алексей ПрескенисТо есть предлагаете перебросить данные на 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 14:13:38 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
2 Shuhard Алексей Прескенисимеется скомпилированное (т.е. исходников нема) коммерческое ПО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 14:20:58 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
йцук2 Shuhard Алексей Прескенисимеется скомпилированное (т.е. исходников нема) коммерческое ПО виноват - не разглядел! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 14:58:21 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
еще раз повторюсь ADP файл аксесса в отличие от мдбшного не является источником данных он не хранит в себе данных, в нем только объекты доступа к данным - клиентская часть. по этой причине не OLEDB ни ODBC драйвера к ADP нет и быть не может нету там ни querydefs ни tabledefs все через коннект на сервере лежит. на основании изложенного высказывания типа: авторО! или вот такую схему можно ли замонстрячить? mdb --> adp --> sql говорят о том что автор совершенно не имеет об ADP никакого представления. НО твою коммерческую клиентскую часть можно подключить через файловый dsn к серверу если она сейчас работает через файловый дсн - заменив соответствующий файл. НО она не будет работать если в коде коммерческой программы используются обновляемые рекордсеты без параметра dbseechanges ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 16:02:12 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
Вчера сделал следующим образом. Перенес таблицы на SQLServer, в базе данных Access таблицы заменил на линки к серверу а запросы оставил такие как есть. Файл DSN менять не пришлось - программа стучится в ту же базу Access только данные на сервере. Запустил... Заработало... Но есть маленькая проблема. Иногда не добавляются записи - програма ругается следующим матом : "Ошибка вставки данных - не могу обновить поле". Самое интересное в этом "ИНОГДА" - иногда эти записи нормально добавляются. Смотрел я в профилёр SQLServer'a но видел там фигу - иногда транкзация проходит а иногда нет и явной причины я не узрел... Я как понял это тот диагноз который поставил Алексей К... Вопрос - можно ли как нибудь выпутаться из сложившейся ситуации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 05:18:42 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
>Вопрос - можно ли как нибудь выпутаться из сложившейся ситуации? Да. Перестать парится с MS SQL или обратится к разработчику. Или почитать документацию на вашу прогу. Бессмысленно спрашивать, из-за чего некоторая программа выдает сообщения. Она их может выдавать вполне произвольно, и только автор знает как именно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 07:03:46 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
посмотреть схему данных в Access обращая внимание на : - способы поддержания целостности; - устройство ключей и вероятно счётчиков; для эксперимента порубить внешние ключи на sql - оценить реакцию если счётчики - возможны разные способы их замены средствами TSQL (см надлежащий FAQ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 08:14:43 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
Shuhardпосмотреть схему данных в Access обращая внимание на : - способы поддержания целостности; - устройство ключей и вероятно счётчиков; для эксперимента порубить внешние ключи на sql - оценить реакцию если счётчики - возможны разные способы их замены средствами TSQL (см надлежащий FAQ). Устройство ключей я повторил в точности - со счетчиками проблема отпала, зависимости вроде все соблюдаются. Но та ошибка ("Не могу обновить данные") осталась В отчете по переносу таблиц Access что то ругался на "условия на значения" (некоторые столбцы должны быть больше нуля или в некоем диапазоне) - но все эти штуки добавил - я пробовал вводить неправильные значения и он выдавал ошибку Мне кажется у АлексеяК была здравая мысль, может он откликнется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 10:06:27 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
Первичные ключи во всех таблицах есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 15:45:15 |
|
||
|
Как подключится к проекту Access через ODBC?
|
|||
|---|---|---|---|
|
#18+
АлексейК Первичные ключи во всех таблицах есть? Есть. Во всех ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 07:32:28 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32601936&tid=1673198]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 357ms |

| 0 / 0 |
