Модераторы: gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с БД через интернет и локалку 
:(
    Опции темы
Ronin08
Дата 22.5.2008, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 16.2.2008
Где: г.Москва

Репутация: нет
Всего: 1



Помогите разобраться каму не тяжело!
Установлены MSSQL Server 2005 и IIS на одной машине (сервер).
Возможно ли реализовать следуующее? :
Имеется Windows служба на клиенте, которая периодически (каждые 10 мин)отсылает  данные на сервер, которые заносятся в БД.
Так же клиет должен обращаться к этой бд через веб-приложение.
Возможно ли юзать БД на сервере через итернет и по локалке клиентом при таком раскладе?
Я так полагаю что надо узать HttpWebRequest и HttpWebResponse !!!



--------------------
Зачем вставать рано или поздно? Надо вставать вовремя
PM MAIL   Вверх
MasterOfCode
Дата 22.5.2008, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Если вам нужен доступ к БД через Браузер (IE, Opera...) - тогда используйте ASP.NET в связи с IIS. Если вам нужно создать обычное Windows-приложение, то IIS не нужен. 


--------------------
user posted image
PM ICQ   Вверх
Ronin08
Дата 22.5.2008, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 16.2.2008
Где: г.Москва

Репутация: нет
Всего: 1



В том то и дело что мне нужен доступ к БД и через браузер и через обычное Windows-приложение. 
В том чтобы юзать БД через браузер понятно, что надо IIS
Цитата

Если вам нужно создать обычное Windows-приложение, то IIS не нужен

ну если бы это приложение стояло бы на машинах подключенных к локалке тогда это понятно, но ведь мне надо чтобы еще и через  интернет можно было бы обращаться к БД которая на сервере стоит.
Как быть в этой ситуации?
--------------------
Зачем вставать рано или поздно? Надо вставать вовремя
PM MAIL   Вверх
thomas
Дата 22.5.2008, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



Цитата

мне надо чтобы еще и через  интернет можно было бы обращаться к БД которая на сервере стоит.


Ronin08, так и в чём проблема? 
В обычном Windows-приложении, которое работает с БД, в строке подключения указываешь IPадрес сервера и далее что нужно, и вперед на мины.
Приаеры connectionString смотрим тут.

Успехов.

ЗЫ кста и для Web-приложения если база находиться на другом сервере подойдет эта же строка подключения.


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
Ronin08
Дата 22.5.2008, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 16.2.2008
Где: г.Москва

Репутация: нет
Всего: 1



Цитата

Connect via an IP address 
  
Код

Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword; 
 
DBMSSOCN=TCP/IP. This is how to use TCP/IP instead of Named Pipes. At the end of the Data Source is the port to use. 1433 is the default port for SQL Server. 


thomas, как я понимаю ты имел в виду эту строку подключения?
 

--------------------
Зачем вставать рано или поздно? Надо вставать вовремя
PM MAIL   Вверх
Ronin08
Дата 22.5.2008, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 16.2.2008
Где: г.Москва

Репутация: нет
Всего: 1



Почему не получается подключиться к БД?
Код

string source = "Data Source=127.0.0.1,1433;Network Library=DBMSSOCN;Connect Timeout=30; User Instance=True";
SqlConnection con = new SqlConnection(source);

--------------------
Зачем вставать рано или поздно? Надо вставать вовремя
PM MAIL   Вверх
jonie
Дата 22.5.2008, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



а ты попробуй ошибку переведи, или нам расскажи...
вообще сделай udl файл (пустой) дважды жмякни, и настрой в нем соединение. нажми ок, и сдери оттуда строку подключения..


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Ronin08
Дата 22.5.2008, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 16.2.2008
Где: г.Москва

Репутация: нет
Всего: 1



ну ошибка незамысловатая
в студии:
Цитата

An error has occurred while establishing a connection to the server.  When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: TCP Provider, error: 0 - Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.)

через udl:
при в воде в поле имя сервера ANTON\SQLEXPRESS тогда "ошибка инициализации поставщика", хотя это имя моего сервера!!! 

странно, что через следующюю строку получается подконектится к бд!!!
Код

string source = "Data Source=.\\SQLEXPRESS; Integrated Security=SSPI;Connect Timeout=30;User Instance=True";

           


Это сообщение отредактировал(а) Ronin08 - 22.5.2008, 23:50
--------------------
Зачем вставать рано или поздно? Надо вставать вовремя
PM MAIL   Вверх
MasterOfCode
Дата 23.5.2008, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



А порт у тебя точно 1433;? 


--------------------
user posted image
PM ICQ   Вверх
Ronin08
Дата 23.5.2008, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 16.2.2008
Где: г.Москва

Репутация: нет
Всего: 1



точно, тем более
Цитата

DBMSSOCN=TCP/IP. This is how to use TCP/IP instead of Named Pipes. At the end of the Data Source is the port to use. 1433 is the default port for SQL Server.


Это сообщение отредактировал(а) Ronin08 - 24.5.2008, 01:03
--------------------
Зачем вставать рано или поздно? Надо вставать вовремя
PM MAIL   Вверх
Ronin08
Дата 24.5.2008, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 16.2.2008
Где: г.Москва

Репутация: нет
Всего: 1



неужели ни у кого не было аналогичной проблемы? smile 
--------------------
Зачем вставать рано или поздно? Надо вставать вовремя
PM MAIL   Вверх
Magnifico
Дата 24.5.2008, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 2
Всего: 17



telnet IpAdress Port
(telnet 192.168.103.1 1433)
если проходит(чистый черный экран) то дальше

пуск - выполнить - cliconfg
Общие :  Включить протоколы для клиента tcp/ip
Псевдоним: Добавить ANTON
Имя сервера: IP serverA
Номер порта :  1433

можно обращаться:  ANTON\SQLEXPRESS


--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
unicuum
Дата 24.5.2008, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



Цитата(Ronin08 @  22.5.2008,  16:10 Найти цитируемый пост)
В том то и дело что мне нужен доступ к БД и через браузер и через обычное Windows-приложение. 

Иными  словами через приложение-клиент. Первое что делают в таких случаях, так это не пытаются подключиться к базе данных напрямую, лучше сразу забудь об этих советах. Для этого используются веб-службы.

Если вкратце, то твоя программа клиент пошлёт xml запрос написанной тобой веб-службе, далее веб-служба выполнит некие действия с базой данных, и пошлёт xml ответ. Именно на этот случай и была сделана трансформация из бд в xml и наоборот. Смотри стандартные примеры в MSDN или читай книжки по их созданию.


--------------------
user posted image
обычный день на винграде
PM   Вверх
Ronin08
Дата 24.5.2008, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 16.2.2008
Где: г.Москва

Репутация: нет
Всего: 1



Спасибо всем за советы!
Цитата

Иными  словами через приложение-клиент. Первое что делают в таких случаях, так это не пытаются подключиться к базе данных напрямую, лучше сразу забудь об этих советах. Для этого используются веб-службы.

А еще более иными приложение- клиент в виде windows службы.
Веб-службы- это хорошо, тока с ними очень мало работал, надо разбираться, а сроки поджимают. 
Цитата

telnet IpAdress Port
(telnet 192.168.103.1 1433)
если проходит(чистый черный экран) то дальше

не проходит ("не удалось открыть подключение к этому узлу")
Цитата

пуск - выполнить - cliconfg
Общие :  Включить протоколы для клиента tcp/ip
Псевдоним: Добавить ANTON
Имя сервера: IP serverA
Номер порта :  1433

можно обращаться:  ANTON\SQLEXPRESS 

Magnifico , я это все сделал еще раньше.
Но проблема видимо другая.
все настроил как написано тут и тут
При настройке сервера через Server Network Utility в instance "ANTON\SQLEXPRESS" в Disabled и Enabled Protocols нет ни одного протокола.
А в instance "ANTON" есть все необходимые. Так и должно быть??? мне кажется нет!
Я ведь должен юзать  instance "localName\SQLEXPRESS", т.е. "ANTON\SQLEXPRESS"!
Когда я проверяю какие порты используются командой netstat -an из командной строки, то порта 1433 в списке нет. Это видимо из-за вышеописанной ошибки. Мне кажется проблема не в клиенте,  а в сервере




Это сообщение отредактировал(а) Ronin08 - 24.5.2008, 22:07
--------------------
Зачем вставать рано или поздно? Надо вставать вовремя
PM MAIL   Вверх
Magnifico
Дата 25.5.2008, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 2
Всего: 17



Если у тебя 2 инстанса 2 ой по умолчанию конфигурируется на динамический порт
и порт надо указывать явно  1434
сделай как на картинке
http://ipicture.ru/Gallery/Viewfull/2058182.html

для удаленных соединений:
 пуск- выполнить- firewall.cpl  делаем исключение 1434 tcp
для удаленных соединений использвать смешанную аутентфикацию 
http://ipicture.ru/Gallery/Viewfull/2058198.html

разрешаем удал. соединения 
http://ipicture.ru/Gallery/Viewfull/2058218.html
настриваем пользователя  допустим sa  (   sysadmin  ENABLE)
http://ipicture.ru/Gallery/Viewfull/2058208.html

с удаленого компьютера подключаемся
192.168.100.1\SQLEXPRESS,1434  используя логин sa

в принципе все!

Это сообщение отредактировал(а) Magnifico - 25.5.2008, 12:25


--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0609 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.