Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 21.01.2010
Сообщений: 12
1

Одновременное подключение к SQL 2000 и Access

24.05.2010, 12:58. Просмотров 1161. Ответов 7
Метки нет (Все метки)


Одновременное подключение к SQL 2000 и Access

Всем привет! У меня есть сайт на ASP, на страницах которого используется вовод информации из БД MSSQL 2000 и БД Access. Страница работала идеально, вся информация выводилась. После того, как я сделала обычное добавление в БД Access, все изменилось. Страница стала грузиться через раз. Первый раз - все грузит, после обновления выдает ошибку:

Provider error '80004005'
Unspecified error
/is/include/common.asp, line 15

Не могу понять, откуда такая проблема появилаь, вроде бы ничего не меняла.
Вот код страницы Global.asa

<script language='VBScript' runat='server'>
Sub Session_OnStart
Session('cn')='Provider=SQLOLEDB.1;Persist Security Info=True;Password=XXX;User ID=XXX;Initial Catalog=XXXata Source=XXX'
End Sub
</script>

Вот главная страница:
<>
<!-- #include file='include/common.asp' -->
<html>
<head>
...
</head>
<body>
...
<!--#include file='include/newsarticle.asp' -->
<!--#include file='include/newsjournal.asp' -->
...
</body>
</html>

common.asp:

<>

newsarticle.asp:
<>
... вывод статей из БД SQL...
<>
<>

newsjournal.asp
<>
... вывод журналов из БД Access ...
<>
<>

Возможно, у меня неправильно сделано подключение, помогите, плиз
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2010, 12:58
Ответы с готовыми решениями:

SQL запрос к базе Access 2000
При выполнении следующего запроса: SQL='UPDATE tblNews SET strShortNews=''&amp; strShortNews &amp;'',...

Можно ли без проблем перейти с Access 2000 на SQL Server ...?
Вопрос ! Можно ли без проблем перейти с Access 2000 на SQL Server , если обращение к базе было...

Одновременное подключение несколько клиентов к одному серверу
Столкнулся с задачей. Есть сервер, который отправляет xml сообщения на клиент. Нужно сделать чтобы...

Подключиться к SQL 2000. BASE_STRING = 'Driver={SQL Server};Server=(local);Database=mybase;
Пишу поключение BASE_STRING = 'Driver={SQL Server};Server=(local);Database=mybase;', тестирую...

7
80 / 56 / 68
Регистрация: 15.03.2007
Сообщений: 6,908
24.05.2010, 14:36 2
Так а что находится в файле /is/include/common.asp на строке 15, там где ошибка? Забыли самое главное указать
Так же не помешает показать что делается до этой строки.

Строка соединения у вас одинаковая для всех или разная? Если одинаковая, то нет никакого смысла хранить ее в сессии. Лучше в Application.
0
0 / 0 / 0
Регистрация: 21.01.2010
Сообщений: 12
24.05.2010, 15:24  [ТС] 3
хммм... ) криво отправила вопрос:
файл common.asp

[
<%
Response.Expires=0
Response.AddHeader 'Pragma','no-cache'
Response.AddHeader 'cache-control', 'no-store'
Response.ExpiresAbsolute=now()-1
Response.CharSet='windows-1251'

Dim conn, ConnDBF, rs
Set conn = server.CreateObject ('ADODB.Connection')
Set ConnDBF = server.CreateObject ('ADODB.Connection')
conn.CursorLocation=3
set rs=server.CreateObject ('ADODB.recordset')
conn.Open session('cn')
ConnDBF.Open 'PROVIDER=MSDASQLRIVER={Microsoft Access Driver (*.mdb)}BQ=' & Server.MapPath('/..../journale.mdb')
%>
]

Строка соединения везде одна. То есть я подключаюсь только к одной БД из SQL и только к одной БД Access.

Главная страница состоит из кода:
[<%Option Explicit%>
<!-- #include file='include/common.asp' -->
<html> ... <!--подключение к SQL-->

<%
Dim LevelRS
Set RS = Conn.Execute ('SELECT * FROM qryLetters WHERE IsPublic=1 AND DateDiff(d,DateCreated,getdate()) < 8 ORDER BY DateCreated desc')
%> ... вывод инфы из SQL
<%RS.Close%>
<%Set RS = Nothing%> ....
<!--подключение к Access-->
<%
Dim test, sql_order
set test=server.createObject('adodb.recordset')
sql_order = 'SELECT * FROM Subscribe WHERE Date() - SubscribeReceivDate <= 7'
test.open sql_order,ConnDBF
%> ... вывод инфы из Access
<%test.close%>
<%set test = nothing%>
...
</html>
]

0
80 / 56 / 68
Регистрация: 15.03.2007
Сообщений: 6,908
24.05.2010, 16:10 4
Вы не закрываете открытые соединения.
Попробуйде добавить в конец каджого файа явное закрытие каждого используемого соединения.
0
0 / 0 / 0
Регистрация: 21.01.2010
Сообщений: 12
24.05.2010, 16:20  [ТС] 5
А вот это:
%RS.Close%>
<%Set RS = Nothing%> ....
я везде все закрываю
0
0 / 0 / 0
Регистрация: 21.01.2010
Сообщений: 12
24.05.2010, 17:53  [ТС] 6
Все заработало. Решила сделать черз Application - опять ошибка

Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'Conn'

/is/include/newsarticle.asp, line 3

Помогите, плиз.
Ошибка здесь:
Set RS = Conn.Execute ('SELECT * FROM qryLetters WHERE IsPublic=1 AND DateDiff(d,DateCreated,getdate()) < 8 ORDER BY DateCreated desc')

А это global.asa

<script language='VBScript' runat='server'>
Sub Application_OnStart
Dim Conn, ConnDBF, rs
Application('cn') = 'Provider=SQLOLEDB.1;Persist Security Info=True;Password=xxx;User ID=xxx;Initial Catalog=Ixxxata
Source=xxx;'
Set Conn = Server.CreateObject('ADODB.Connection')
Set ConnDBF = Server.CreateObject('ADODB.Connection')
set rs=server.CreateObject ('ADODB.recordset')
Conn.CursorLocation=3
Conn.Open Application('cn')
ConnDBF.Open 'provider=microsoft.jet.oledb.4.0;data source=' & Server.MapPath('/is/doc/journale.mdb')
End Sub
Sub Session_OnStart
Session.Timeout = 30
End Sub
</script>
0
80 / 56 / 68
Регистрация: 15.03.2007
Сообщений: 6,908
25.05.2010, 11:23 7
> Все заработало
И в чем дело было?

> Решила сделать черз Application - опять ошибка
Не надо создавать соединение при событии Aplication_Start. Эта переменная не будет видна в ASP файлах. Я всего-лишь предлагал вам хранить строку соединения в Application, а не само соединение.
0
0 / 0 / 0
Регистрация: 21.01.2010
Сообщений: 12
25.05.2010, 14:20  [ТС] 8
Нужно было написать:

provider=microsoft.jet.oledb.4.0

вместо PROVIDER=MSDASQL
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2010, 14:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Приложение на ASP+ MS SQL Servel 2000 и хостинг с подержкой ASP+ MS sql server 7.0
А хостинг с подержкой ASP+ MS sql server 7.0 &gt; Так вот есть гарантия того, что будет работать мое...

Access 2000 + OleDb Аномалия )
Не могу разгодать головоломку. Access + 3 клиента через OleDb. 100% что приложение не удаляет...

Проблема с SQL SERVER 2000
Господа программисты и разработчики, подскажите пожалуйста какие нужно сделать настройки,чтобы...

Разбиение recordset на страницы в Access 2000
hello, stolknulsa s problem. sozdalos vpechatlenije chto v Access 2000 nevozmozhno razbienie...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.