Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с подключением к БД

422
01 апреля 2006 года
Dimarik
181 / / 12.02.2005
Подключаюсь к БД(MS SQL 2000), БД находится на другой машине, пишу:
SqlConnection thisConnection= new SqlConnection(@"Data Source=DATABASE; Integrated Security=SSPI; Initial Catalog=pubs; uid=sa; password=;");

Выводит сообщение об ошибке
An unhandled exception of type 'System.SecurityExecption' occured in Unknown Module.

Additional information: Request failed.

Нажимаю Break, появляется сообщение:

There is no source code available for the current location.

В чём причина?

Заранее спасибо.
273
02 апреля 2006 года
3A3-968M
1.2K / / 22.12.2005
Очевидно, что используется авторизация Windows authentication. Попробуй SQL авторизацию:
"Persist Security Info=False;User ID=*****;Password=*****;Initial Catalog=pubs;Server=MSSQL1"
Тем более в твоём случае не указан сервер соединения, по умолчанию он Server=(local), используй явное задание нужного сервера, например:
Server=SomeComputer\MSSQL1;
Ещё можно использовать указание сетевых настроек:
Network Library=dbmssocn; // TCP/IP протокол
Data Source=000.000.000.000, 1234 //IP-шник и порт
422
03 апреля 2006 года
Dimarik
181 / / 12.02.2005
Цитата:
Originally posted by 3A3-968M
Очевидно, что используется авторизация Windows authentication. Попробуй SQL авторизацию:
"Persist Security Info=False;User ID=*****;Password=*****;Initial Catalog=pubs;Server=MSSQL1"
Тем более в твоём случае не указан сервер соединения, по умолчанию он Server=(local), используй явное задание нужного сервера, например:
Server=SomeComputer\MSSQL1;
Ещё можно использовать указание сетевых настроек:
Network Library=dbmssocn; // TCP/IP протокол
Data Source=000.000.000.000, 1234 //IP-шник и порт



Вот строка подключения:

string ConString="Data Source=DATABASE; Network Library=dbmssocn; Network Address=169.254.21.2; Persist Security Info=False; User ID=asp; Server=DATABASE\\DATABASE; Initial Catalog=pubs";

При создании SqlConnection всё равно выдаёт ошибку. Забыл ещё добавить, что у машины, которая должна получить подключение к БД имеется две сетевых карты. Одна для выхода в Интернет, вторая - для связи с компьютером, имеющим эту БД, к которой и требуется подключиться, может это как-то сказывается на способе подключения. Опять же когда отключаю карту с выходом в Интернет, ничего не изменяется. И ещё интересно, что при подключении к БД путём мастера (Add Connection в Server Explorer), всё нормально работает. Ну что ещё ему надо. На компьютере, где рабоате MSSQL2000, стоит Windows 2000. С которого необходимо подключиться - Windows 2003 Server Web Edition. Ещё заметил, когда пытаешься подключиться с помощью SqlConnection, в Outpost'e вообще не видно, что осуществляется какое-то подключение. И точно это не связано с Outpost'ом, т.к. между этими двумя машинами "Доверенная зона".(Даже полностью его отключал).

273
03 апреля 2006 года
3A3-968M
1.2K / / 22.12.2005
Попробуй к локальному серверу подрубится с теми же именем пользователя и настройками. А если через Server Explorer нормально подключается, то должен формироваться *.config файл в папке с твоим экзешником, открой его и посмотри как MSVS генерит настройки подключения. Файл, если я не ошибаюсь, называется app.config. Строка подключения выглядит примерно так:
<connectionStrings>
<add name="DatabaseConnection"
connectionString="Persist Security Info=False;Integrated Security=SSPI;database=BASE;server=(local);"
providerName="System.Data.SqlClient" />
</connectionStrings>
422
03 апреля 2006 года
Dimarik
181 / / 12.02.2005
Цитата:
Originally posted by 3A3-968M
Попробуй к локальному серверу подрубится с теми же именем пользователя и настройками. А если через Server Explorer нормально подключается, то должен формироваться *.config файл в папке с твоим экзешником, открой его и посмотри как MSVS генерит настройки подключения. Файл, если я не ошибаюсь, называется app.config. Строка подключения выглядит примерно так:
<connectionStrings>
<add name="DatabaseConnection"
connectionString="Persist Security Info=False;Integrated Security=SSPI;database=BASE;server=(local);"
providerName="System.Data.SqlClient" />
</connectionStrings>



Не нашёл такого в папке с моим экзешником. Попробовал в поиске, нашёл три файла app.config. Но там ничего такого нет, кроме как

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>

422
03 апреля 2006 года
Dimarik
181 / / 12.02.2005
В свойствах подключения через Server Explorer есть ConnectString:

Provider=SQLOLEDB.1;Persist Security Info=False;User ID=asp;Data Source=DATABASE;Use Procedure for Prepare=1;Auto
Translate=True;Packet Size=4096;Workstation ID=URALSOFT;Use Encryption for Data=False;Tag with column collation when
possible=False

Driver: Microsoft OLE DB Provider for SQL Server
Server: DATABASE

Даже выводит ошибку при написании:

SqlConnection thisConnection= new SqlConnection();
422
03 апреля 2006 года
Dimarik
181 / / 12.02.2005
Поменял ссылку на модуль System.Data.dll с версии v1.0.3705 на v1.1.4322. Объект SqlConnection создаётся, а вот при открытии соединения thisConnection.Open() пишет ошибку:

An unhandled exception of type 'System.Security.SecurityException' occurred in mscorlib.dll

Additional information: Request for the permission of type System.Data.SqlClient.SqlClientPermission, System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.
273
04 апреля 2006 года
3A3-968M
1.2K / / 22.12.2005
Попробуй вручную создать app.config, про этот файл подробнее в MSDN почитать можно. Попробуй переместить совё приложение на файл с SQL серваком и попытатся подключится локально, чё то мне кажется что SQL Server раненный или в ODBC настройки кривые
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог