Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ASP > Проблема с соединением с БД


Автор: Гость_Дима 29.7.2003, 01:55
Суть проблемы: при попытке связаться с БД Access выводиться следующее сообщение В операции должен использоваться обновляемый запрос. (Microsoft JET Database Engine)

Автор: DIMA.NET 29.7.2003, 15:22
Покажи код, плз!.

Автор: Гость_Дима 29.7.2003, 20:19
Вот так все это соидинение выглядит....я выбрал Access потому как легче...


Код
Dim cn : Set cn = Server.CreateObject("ADODB.Connection")
Dim strConn, strLogin, strPassword
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mydatabase.mdb") & ";Persist Security Info=False"
strLogin = "Admin"
strPassword = "admin"
cn.open strConn, strLogin, strPassword
sub openrs(rs, sql)
 Set rs = Server.CreateObject("ADODB.Recordset")
 rs.CursorLocation = adUseServer
 rs.Open sql, cn, adOpenForwardOnly, adLockReadOnly, adCmdText
end sub
sub openStaticRS(rs, sql)
 Set rs = Server.CreateObject("ADODB.Recordset")
 rs.CursorLocation = adUseServer
 rs.Open sql, cn, adOpenStatic, adLockReadOnly, adCmdText
end sub

Автор: Гость_Дима 3.8.2003, 16:27
Так что, советов не будет?sad.gif

Автор: DIMA.NET 3.8.2003, 17:27
Извини, пока сервак не работает. Проверить не могу!
А в какой строке ошибка...?

Автор: Unregistered 3.8.2003, 21:03
в третьей, что самое интересное, когда я первый раз сервак установил, всё работало(поскольку первы мой проэкт-гордость распирала) потом у меня хард полетел (это я облажал с PartitionMagic), ну а потом я снова установил две ОС (в первый раз было так же) и тут... сначала думал, что начала рано радоваться, мол ничего я не умею, но отом скачал пару скриптов, запустил и ...та же песня при любом соединении с базой Access выдает такую ошибку...каждый раз в этой строке
Код
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mydatabase.mdb") & ";

мне казалось, что я канибудь не так настроил сервер( я в этом тоже новичок) обратился к специалисту, он сказал - что дело в синтаксисе. Так в чем же дело?

Автор: DIMA.NET 4.8.2003, 07:36
Я всегда делаю так:
выношу Server.MapPath("mydatabase.mdb") в переменную filepath, а затем делаю вот так:
Код

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath

Автор: inferno 10.8.2003, 11:38
Спасибо....но первопричина была не в этом. Всё оказалось на много интересней - я, просматривая созданные файлы через броузер, смотрел их как обычный гость, а не как администратор, а пользователь ГОСТЬ не значился в списке пользователей IIS, соответственно и прав у него никаких не было! Вообщем при такой проблеме нужно легким движением руки добавить в список пользователей имя ГОСТЬ и всё будет путем, ну и не забыть разрешить запись в для папки с файлом базы данных. Вот и всё! Тем не менее спасибо огромное за совет

Автор: inferno 10.8.2003, 11:42
Цитата(DIMA @ 4.8.2003, 07:36)
Я всегда делаю так:
выношу Server.MapPath("mydatabase.mdb") в переменную filepath, а затем делаю вот так:
Код

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath

...это тоже очень интересно...я попробовал - экономит время если пишешь большой скрипт smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)