Discussion:
Multiple SQL Connections in Web Part
(слишком старое сообщение для ответа)
Andrzej Novosiolov
2005-09-09 08:55:50 UTC
Permalink
Делая Web Part для SharePoint Portal Server, столкнулись с необходимостью
извлечь данные из двух разных баз данных на одном SQL Server (в разные
DataSet'ы). Ну, какая разница - одна база, две, верно? Сделали два комплекта
SQLConnection/DataAdapter с соответствующими SQLCommand, прописали
соответствующие Connection Strings (с SQL Server Authentication, User ID и
Password прописаны в строках соединения)...

Запускаем. Select из первой базы отрабатывает нормально - Select из второй
базы вылетает с SQLException "General network error" (как будто из
Connection Pool выбралось соединение, оборванное сервером). Меняем
очерёдность запросов - тот, который исполняется первым, всегда отрабатывает
нормально, который за ним - всегда вылетает.

Проблему обошли, добавив в одну из баз хранимые процедуры, обращающиеся ко
второй базе, так что Web Part обходится двума соединениями с одной и той же
базой. Так работает. Но это ж не дело.

Пробовали запускать то же самое не из Web Part, а в отдельно стоящем ASP.NET
приложении под IIS 5.0 - всё работает. Значит, дело в каких-то ограничениях
SharePoint или IIS 6.0. Есть идеи, куда смотреть?
--
ICQ 8481158, http://www.livejournal.com/users/andrzejn/
Dmitri Lazarev
2005-09-09 10:36:06 UTC
Permalink
Fri Sep 09 2005 12:55, Andrzej Novosiolov wrote to All:


AN> Делая Web Part для SharePoint Portal Server, столкнулись с необходимостью
AN> извлечь данные из двух разных баз данных на одном SQL Server (в разные
AN> DataSet'ы). Hу, какая разница - одна база, две, верно? Сделали два
AN> комплекта SQLConnection/DataAdapter с соответствующими SQLCommand,
AN> прописали соответствующие Connection Strings (с SQL Server
AN> Authentication, User ID и Password прописаны в строках соединения)...

AN> Запускаем. Select из первой базы отрабатывает нормально - Select из
AN> второй базы вылетает с SQLException "General network error" (как будто из
AN> Connection Pool выбралось соединение, оборванное сервером). Меняем
AN> очерёдность запросов - тот, который исполняется первым, всегда
AN> отрабатывает нормально, который за ним - всегда вылетает.

AN> Проблему обошли, добавив в одну из баз хранимые процедуры, обращающиеся
AN> ко второй базе, так что Web Part обходится двума соединениями с одной и
AN> той же базой. Так работает. Hо это ж не дело.

AN> Пробовали запускать то же самое не из Web Part, а в отдельно стоящем
AN> ASP.NET приложении под IIS 5.0 - всё работает. Значит, дело в каких-то
AN> ограничениях SharePoint или IIS 6.0. Есть идеи, куда смотреть?

По существу подсказать не могу, но если базы на одном SQLServer'е, то зачем
два комплекта? select * from [databaseName].[dbo].table не работает?

WBR, Lazarev Dmitri.
Andrzej Novosiolov
2005-09-09 11:01:04 UTC
Permalink
если базы на одном SQLServer'е, то зачем два комплекта? select * from
[databaseName].[dbo].table не работает?
Работает, просто этот Web Part у нас - read-only версия отдельного ASP.NET
приложения, а в том приложении всё сделано "по правилам" - отдельные
компоненты для разных сущностей, каждая со своими DataAdapter'ами и
SQLConnection'ами. Там-то это всё работает без проблем. А начали копировать
в Web Part - начались непонятные глюки.
--
ICQ 8481158, http://www.livejournal.com/users/andrzejn/
Loading...