Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 | 2 |

 

  Вопрос: Как прописать БД в текущещей директории exe-шника? Добавлено: 27.05.06 22:26  

Автор вопроса:  nata
Привет! Помогите,пожалуйста,неопытному в вопросах программирования человеку решить такую проблему: создаю программу,которая использует БД на своем компьютерев строке DataSource прописываю путь к этой БД.т.е. указываю путь к конкретной папке,где она и лежит. Делаю из программы экзешник,затем запускаю на другом компьютере,и программа естественно не может загрузить эту БД,т.к. не видит ее. Нужно как-то прописать БД в ту же директорию,что и экзешник,чтоб программа запускалась на разных компьютерах.А как-этого я не могу понять :( Поэтому и обращаюсь к умным людям за помощью!Очень надеюсь на ответ :)

Ответить

  Ответы Всего ответов: 22  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 27.05.06 23:14
msgbox App.Path ?

Ответить

Номер ответа: 2
Автор ответа:
 nata



Вопросов: 1
Ответов: 10
 Профиль | | #2 Добавлено: 27.05.06 23:19
А куда это нужно написать?у меня msflexgrid связан с БД в Access,в его свойстве data source прописан путь к БД.вообще не могу понять,как сделать ,чтоб на других компьютерах работало :(

Ответить

Номер ответа: 3
Автор ответа:
 Артем



ICQ: 312119975 

Вопросов: 0
Ответов: 6
 Профиль | | #3 Добавлено: 28.05.06 00:48
Попробуй не прописывать путь к конкретной папке с базой, а получить путь где находится программа с помощью


[B][I]src=Directory.GetCurrentDirectory()[/I][/B]


и прописать его с именем базы в свойствах.

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 28.05.06 03:42
куда я попал, где мои вещи?

дотнетовцы атакуют...

Ответить

Номер ответа: 5
Автор ответа:
 nata



Вопросов: 1
Ответов: 10
 Профиль | | #5 Добавлено: 28.05.06 10:06
Всем спасибо! Сейчас попробую :)

Ответить

Номер ответа: 6
Автор ответа:
 SRV



ICQ: 254226129 

Вопросов: 30
Ответов: 107
 Профиль | | #6 Добавлено: 29.05.06 09:50
Data1.DataBasename = App.Path & "\base.mdb"
Data1.RecordSource = "SELECT * FROM Main"
Data1.Refresh
DoEvents

только база должна лежать вместе с экзешником в этом случае :)

Ответить

Номер ответа: 7
Автор ответа:
 nata



Вопросов: 1
Ответов: 10
 Профиль | | #7 Добавлено: 29.05.06 11:21
Спасибо за помощь! :)

Ответить

Номер ответа: 8
Автор ответа:
 student-uni



Вопросов: 122
Ответов: 257
 Профиль | | #8 Добавлено: 29.05.06 23:20
только база должна лежать вместе с экзешником в этом случае :)


Тогда и Пат не нужен :-)

Ответить

Номер ответа: 9
Автор ответа:
 nata



Вопросов: 1
Ответов: 10
 Профиль | | #9 Добавлено: 30.05.06 09:54
Сразу сорри за глупые вопросы :)Т.е.путь не надо указывать,что ли? А что тогда надо? :) У меня еще вопрос-если путь к базе я пишу не в самом коде, а в свойстве DataBaseName указываю,есть какая-то разница?

Ответить

Номер ответа: 10
Автор ответа:
 nata



Вопросов: 1
Ответов: 10
 Профиль | | #10 Добавлено: 30.05.06 14:24
Всем огромное спасибо за помощь! Но проблема все-таки осталась. Мне объяснили следующее: Расследование показало следующее. Моя программа для доступа к БД использует Microsoft Jet Database Engine версии 3.5. Это - объект системы DAO доступа к данным машины.
>Путь к нему прописан в реестре под строкой HKEY_CLASSES_ROOT\CLSID\00000010-0000...2EA4
А физически это должно быть в файле C:\Program Files\Common Files\Microsoft Shared\DAO\DAO350.DLL

На другой машине этого нет.
Есть новая версия DJDB 3.6, прописываемая в
HKEY_CLASSES_ROOT\CLSID\00000100-0000...2EA4
Разница в положении единицы в первой пачке цифр.
А уж эта ерунда живет в файле C:\Program Files\Common Files\Microsoft Shared\DAO\DAO360.DLL
Вот отсюда и нестыковки,поэтому экзешник не запускается...
Можно как-то это исправить и что для этого нужно сделать? Очень все непонятно...

Ответить

Номер ответа: 11
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #11 Добавлено: 30.05.06 18:52
Да, зарегестрировать *.DLL программой regsvr32.exe она с виндой идёт, запустить через Shell можно...

Ответить

Номер ответа: 12
Автор ответа:
 student-uni



Вопросов: 122
Ответов: 257
 Профиль | | #12 Добавлено: 31.05.06 22:14
яб скачал и установил новый джет
ищи в майкрософт даунлоаде последний MDAC

Ответить

Номер ответа: 13
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #13 Добавлено: 01.06.06 00:26
А мне кажется у нее беда совершенно в другом..
Поскольку она юзает DAO 3.5 а на другой машине есть 3.6.. то про регистрацию и новый Jet можно забыть.. ибо это не играет в данном случае никакой роли...
НО!
если путь к базе я пишу не в самом коде, а в свойстве DataBaseName указываю,есть какая-то разница

По всей видимости, она в свойстве DataBaseName жестко прописала путь к БД. Соответветственно, програма ищет базу именно по этому пути, которая вполне вероятно на другой машине расположена совершенно в другом месте.. Отсюда и все вытекающие последствия...

Ответить

Номер ответа: 14
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #14 Добавлено: 01.06.06 00:32
А если это именно так то возвращаемся к посту №1 и юзаем App.Path, либо на другой машине кладем базу именно в ту папку, которая прописана в DataBaseName

Ответить

Номер ответа: 15
Автор ответа:
 nata



Вопросов: 1
Ответов: 10
 Профиль | | #15 Добавлено: 02.06.06 12:54
Ага, всем спасибо! Вообще, я и сама не могу понять, где ошибка. Базу я вроде переложила, но ошибка осталась. Получается все-таки, еще и разница в версиях DAO играет роль! Получается, надо скачивать?

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам