Re[7]: Программа не работает при отсутствии сети, хотя сам с
От: DuШes  
Дата: 22.01.07 13:22
Оценка:
Здравствуйте, grey109, Вы писали:

DS>>Права на директорию какие? Там при открытии создается файл блокировок. Может на данную директорию права только чтение без записи?


G>Дело не в правах, т.к. все происходит на одной и тоже машине и винде. Разница только что сетевой шнурок подключен или нет. Только чтение галки не стоит.


DS>>Какая системная база для акссесса установлена по умолчанию? Может в системной БД не прописаны права данного пользователя?


G>Тоже дело не в этом, т.к. наличии или отсутствие сетевого шнурка прав не меняет.



G>Вообще мистика какая-то получается. Программу писал сам с нуля. Каких-либо сетевых компонентов не использовал, а программа получилось "сетевая" (


посмею предположить — не могла ли возникнуть та ситуация что первый раз запустил процесс, он отработал с ошибкой, процесс не выгрузился и держит в эксклюзиве базу открытой???

второе смотрим sdk:

lpszName
A string expression that is the name of an existing Microsoft Jet (.MDB) database file. If the filename has an extension, it is required. If your network supports the uniform naming convention (UNC), you can also specify a network path, such as "\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB.MDB". (Double backslashes are required in string literals because "\" is the C++ escape character.)

Some considerations apply when using lpszName. If it:

Refers to a database that is already open for exclusive access by another user, MFC throws an exception of type CDaoException. Trap that exception to let your user know that the database is unavailable.

Is an empty string ("") and lpszConnect is "ODBC;", a dialog box listing all registered ODBC data source names is displayed so the user can select a database. You should avoid direct connections to ODBC data sources; use an attached table instead.

Otherwise does not refer to an existing database or valid ODBC data source name, MFC throws an exception of type CDaoException.

Note
For details about DAO error codes, see the DAOERR.H file. For related information, see the topic "Trappable Data Access Errors" in DAO Help.



попробуй все таки увидеть или код ошибки или текст в режиме отладки — ну что за AfxMessagebox в самом деле, поставь брякпоинт на открытии базы, посмотри заходишь ли ты в catch, и какой exception ты ловишь? сначала лови CDaoException, затем общий Exception...

третье — если укажем lpszName должен быть выведен диалог открытия базы, укажи файл в диалоге, проверь дальнейшее выполнение, орять таки после открытия диалога ты сможешь проверить правильность твоей connection_string///

четвертое — мистики в нашей работе не бывает..

удачи
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.