Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
Johnny
1

Ошибка при попытке подключения к базе данных '80004005'

04.06.2007, 19:30. Показов 5199. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Многоуважаемый ALL!


При попытке подключения к базе данных происходит такая ошибка:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Disk or network error.

/www/tutor2/asptoc.asp, line 18




При этом скрипт выглядит так:

<%
Set oConn = Server.CreateObject('ADODB.Connection')
MdbFilePath = Server.MapPath('scout.mdb')
18: oConn.Open 'Driver={Microsoft Access Driver (*.mdb)}; DBQ=' & MdbFilePath & ';'

oConn.Open strConn
%>

В 18 строке - попытка открыть базу... База объявлена в системе и как File DSN и как System DSN. NTFS-разрешениями все разрешено...

Может кто подскажет в чем может быть причина?.. Был бы очень благодарен!
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2007, 19:30
Ответы с готовыми решениями:

Ошибка при запуске 1С:Предприятия: Ошибка подключения HRESULT=80004005
Здравствуйте, помогите, пожалуйста. Посмотрел в инете и мало что понял из написанного там. Во...

При попытке обновить запись в базе данных вываливается ошибка Syntax Error из-за пробелов в тексте.
В Textarea загружается из базы данных(MSSQL server) текст с пробелами, где этот текст может...

Ошибка "Файл базы данных занят" при попытке подключения к ней
работаю с бд через шарп . C:\Temp\Паспорт.fdb&quot; в этой директории потом папку темп перекидываю на...

Ошибка драйвера при попытке подключения к БД
Пытаюсь сделать выборку из бд на движке фирмы, в которой работаю. При подключении к бд(mysql)...

17
0 / 0 / 0
Регистрация: 21.04.2007
Сообщений: 156
04.06.2007, 19:54 2
фиг знает, влом думать, я пьян! %)

если она в DSN прописана, то пиши лутше так:
dsn = 'имя в DSN' ' имя в DSN
usr = 'admin' ' имя пользователя
psw = '' ' пароль для доступа в БД
oConn.Open dsn, usr, psw

Вот это будет воркать!!!
0
favn
04.06.2007, 21:27 3
Строка соединения использует старый синтаксис, он уже почти не используется.
Возможные варианты:
'Provider=Microsoft.Jet.OLEDB.4.0ata Source=' & Server.MapPath('scout.mdb') & ';Persist Security Info=False' 'Для 2000 Access
'Provider=Microsoft.Jet.OLEDB.3.51ata Source=' & Server.MapPath('scout.mdb') & ';Persist Security Info=False' 'Для 97 Access
'Provider=MSDASQL.1;Persist Security Info=Falseata Source=<System datasource name>' 'Для ODBC

Желательно так-же проверить, что же выводит Server.MapPath('scout.mdb'). И совпадает ли это с реальнум путем к базе.
Johnny
04.06.2007, 21:54 4
Большое спсб, favn!

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

Не могли бы Вы привести эти строки в составе скрипта?

Спасибо!
Johnny
04.06.2007, 21:56 5
И Вам спасибо, уважаемый Newton Arroyo!

Попробовал, как посоветовали: поставил пароль на базу, подключение выполнял по имени и все такое. Но все равно не заворкало...

Thanks anyway!
0 / 2 / 3
Регистрация: 27.03.2012
04.06.2007, 21:57 6
Ну, например,

Set Con=Server.CreateObject('ADODB.Connection')
Con.Open 'Provider=Microsoft.Jet.OLEDB.4.0ata Source=D:db1.mdb'
Set RS=Server.CreateObject('ADODB.RecordSet')
0
Johnny
04.06.2007, 22:06 7
На эту запись (с соответствующим путем, конечно)

Set Con=Server.CreateObject('ADODB.Connection')
Con.Open 'Provider=Microsoft.Jet.OLEDB.4.0ata Source=D:db1.mdb'
Set RS=Server.CreateObject('ADODB.RecordSet')


Выдает такую ошибку (первый раз вижу...):

Microsoft JET Database Engine error '80004005'

Unspecified error

/www/tutor2/asptoc.asp, line 16


Что ж он еще от меня хочет?
0 / 2 / 3
Регистрация: 27.03.2012
04.06.2007, 22:18 8
Ты вообще где его пытаешься запустить? ОС, версии и т.д...
0
Johnny
04.06.2007, 22:27 9
Платформа:

WinNT 4.0 Server + SP6a
VB 5.5 + MDAC2.5 (или 2.6)
IIS 4.0 (Option Pack)
Sergik
05.06.2007, 10:49 10
Мысли, что в голову приходят:
1) вывести Server.MapPath('scout.mdb'), точный ли он путь к БД показывает? (если пользоваться первым путем, хотя не советую)
2) проверить право на чтение пользователю IUSR_<computer_name> на файл .mdb
3) убрать файл DSN и оставить тока system DSN
4) открывать connection так:
oConn.open 'system_DSN_name','user_name','user_password'
favn
05.06.2007, 12:51 11
О ошибке 80004005:
В MSDN статья с индексом Q183060.
Если не получится найти, обращайся - вышлю.
Johnny
05.06.2007, 16:18 12
Dear Sergik!

Спсб за мысли. Они дают такие результаты:

1) вывести Server.MapPath('scout.mdb'), точный ли он путь к БД показывает? (если пользоваться первым путем, хотя не советую)

Путь абсолютно точный! Пробовал даже использовать просто напрямую записанный без переменной путь - тоже самое...

2) проверить право на чтение пользователю IUSR_<computer_name> на файл .mdb

Право на чтение есть. Пробовал ставить даже Full Control - тот же эффект.

3) убрать файл DSN и оставить тока system DSN

Эффект тот же...

4) открывать connection так:
oConn.open 'system_DSN_name','user_name','user_password'

Пробовал, не получается...

Вообщем все хреново...
Johnny
05.06.2007, 16:30 13
Уважаемый favn!

Я уже читал эту статью ранее, однако, к сожалению, она не описывает ни одну ни вторую ошибку...

Просто навождение какое-то...
Sergik
05.06.2007, 17:36 14
Еще пару мыслей:
1) Во время коннекта файл точно закрыт? (никто с ним в Accesse например не работает?)
2) Нужно попробовать переписать файл в другой каталог, мож и впрямь Disk Error
3) Если база в формате Access 2000, то можно попробовать ее в 97 формате сохранить (мож ODBC драйвера старые)
4) Потом еще можно попробовать прям в браузере набрать имя файла-БД (виртуальное, к примеру /my_computer/db/scout.mdb) и посмотреть, откроется ли она через браузер
Об ошибке 'error 80004005' можно почитать здесь (http://search.microsoft.com/us/dev/default.asp и в строке поиска набрать 'error 80004005'):
http://support.microsoft.com/support/kb/articles/Q225/0/42.ASP
http://support.microsoft.com/support/kb/articles/Q183/0/60.ASP

favn
06.06.2007, 12:51 15
Ну что-же... Может переставить MDAC???
Например, поставить 2.6 + Jet отдельно...
0 / 0 / 0
Регистрация: 03.09.2009
Сообщений: 37
03.09.2009, 09:24 16
Та же самая проблема у меня. Поставил MDAC 2.7 и jet 7 - не помогло.
.MDB клал на FAT32, чтоб избежать проблем с безопаностью - тоже нет.
Запустил filemonitor, как советует в таком случае MSDN - файл .MDB никем даже не трогается при попытке открыть из ASP.
Вот уж воистину наваждение. что делать?
0
Sergik
03.09.2009, 10:40 17
еще одна фишка есть, точнее две:
1) поставить полный доступ на каталог для временных файлов (TEMP) для пользователя IUSR_<компьютер>
2) заменить в пути к БД все слеши (' ') на двойные слеши ('\ ')
0 / 0 / 0
Регистрация: 03.09.2009
Сообщений: 37
03.09.2009, 10:48 18
Сейчас уже неактуально(Помогла переустановка винды), но
1)temp - всё равно был на fat32
2)слэши - были нормальные. Jскрипт из ASP, переписанный в .js и запущенный, отрабатывал прекрасно:
Код
connection.Open('DSN=dm');
доступ к mdb у IUSRа ессно был.

Проблема именно в связи ASP<>Jet OLEDB.
0
03.09.2009, 10:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.09.2009, 10:48
Помогаю со студенческими работами здесь

Ошибка при попытке подключения: DBX Error
rad studio xe mysql 5.5.13 win 7 x64 ultimate пытаюсь подключиться к mysql с помощью dbexpress....

Ошибка 651 при попытке подключения к интернету
Здравствуйте. Помогите пожалуйста с проблемой. Обычно пользовался интернетом через роутер. Но когда...

Неизвестная ошибка при попытке подключения Windows Forms
Кракозябры при попытке запуске проекта. В настройках компоновщика все в порядке, точка входа...

Ошибка при попытке подключения к БД через ADO Connection
Помогите пожалуйста! При попытке подключения к БД через ADO Connection выкидывает следующая ошибка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru