Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/17: Рейтинг темы: голосов - 17, средняя оценка - 4.53
Alchi09
204 / 132 / 6
Регистрация: 15.11.2009
Сообщений: 1,654
1

Как подключиться к базе данных MS SQL Server 2008 и сделать выгрузку?

01.07.2014, 13:38. Просмотров 3045. Ответов 13
Метки нет (Все метки)

Всем привет) Как подключиться к базе данных MS SQL Server 2008 и сделать выгрузку? Создаю Windows Form приложение, на кнопочку событие нужно забацать(подключение и выгрузку). Идентификация: Windows Authentication. Ms SQL Server на другом компе с именем SQL2. Вроде элементарщина, но не получается даже инфу найти нужную, на сайте майкрософта описывается только подключение к локальной бд...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2014, 13:38
Ответы с готовыми решениями:

Не могу подключиться к базе данных SQL Server
Всем привет. Сейчас изучаю C# по книгам и видеоурокам. На данный момент не могу...

Как подключиться к БД MS SQL Server 2008
Всем привет. Я новичок в с# и .NET соответственно. Вчера установил MS sql...

Как правильно подключиться к sql server через Visual studio 2008?
connect = new SqlConnection("Data Source=MIX-ПК; Initial Catalog=per;...

C# Подключиться к локальной БД (MS SQL Server 2008 R2)
Здравствуйте! Прошу вас зараннее не кидать кучу ссылок и кричать, что я ленивая...

Подключиться к базе данных SQL на Debian7
есть прога которой обрабатываю данные на локальной базе данных созданой в...

13
Iwillbeagod
28 / 28 / 17
Регистрация: 19.12.2012
Сообщений: 144
Записей в блоге: 1
01.07.2014, 14:30 2
Ну так пишете в конфиге коннекшн стринг с нужным адресом вида:

XML
1
2
3
4
5
<connectionStrings>
    <add name="MyConnString"
       connectionString="Initial Catalog=MyTestDB;Server=xxx.xxx.xx.xxx; Password=12345"
       providerName="System.Data.SqlClient" />
    </connectionStrings>
А лазить в нее можно как угодно, тут масса вариантов.
1
Alchi09
204 / 132 / 6
Регистрация: 15.11.2009
Сообщений: 1,654
01.07.2014, 14:50  [ТС] 3
Iwillbeagod, где писать? я не владею С# как таковым.. и какой писать пароль если там Windows Authentication?
0
Iwillbeagod
28 / 28 / 17
Регистрация: 19.12.2012
Сообщений: 144
Записей в блоге: 1
01.07.2014, 15:20 4
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

У Вашего приложения должен быть файл app.config (если его нет, то зайдите в настройки проекта (Properties) и поменяйте Target Framework на последний (который без Client Profile в конце). Это файл для хранения различных настроек, и выглядит он примерно так (для Windows Auth) :

XML
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <connectionStrings>
    <add name="MyConnString"
       connectionString="Initial Catalog=MyTestDB;Server=xxx.xxx.xxx.xxx"
       providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>
Для подключения можно создать что-то типа такого:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class SQLConfiguration
    {
        readonly SecureString password = new SecureString();
        readonly string userName;
 
        public string ConnectionString
        {
            get
            {
                ConnectionStringsSection config = (ConnectionStringsSection)ConfigurationSettings.GetConfig("connectionStrings");
                ConnectionStringSettings connString = config.ConnectionStrings["MyConnString"];
                return connString.ToString();
            }
        }
 
        public SqlCredential Credential
        {
            get
            {
                return new SqlCredential(userName, password);
            }
        }
 
        public SQLConfiguration(string userName, string password)
        {
            this.userName = userName;
            foreach (char c in password)
            {
                this.password.AppendChar(c);
            }
            this.password.MakeReadOnly();
        }
    }
}
Потом в коде формы можно вот так :

C#
1
2
3
4
5
6
7
8
9
10
11
12
 private void ShowQueryResult(string db, string table, string query)
        {
            SQLConfiguration config = new SQLConfiguration(userName, pass);  //креды
            SqlConnection myLibrary = new SqlConnection(config.ConnectionString); //подключение
            myLibrary.Credential = config.Credential;
            myLibrary.Open();  //подрубились
            DataSet data = new DataSet();  
            SqlDataAdapter adapter = new SqlDataAdapter();
            adapter.SelectCommand = new SqlCommand(String.Format("USE {0} \n{1} ",db,query), myLibrary);  //выполнили запрос
            adapter.Fill(data, table);  //в data результат в виде таблиц
            data.Tables[table] - тут результат запроса
        }
P.S. Брал из древнего приложения, которое писал для стажировки - считайте - колхоз. Просто общие принипы подключения.

Добавлено через 12 минут
Ща прочитал что написал и ужаснулся) там не для windows auth и креды лучше хранить в конфиге, так что например так лучше будет:

XML
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <connectionStrings>
    <add name="MyConnString"
       connectionString="Initial Catalog=MyTestDB;Server=xxx.xxx.xxx.xxx;user id=username"
       providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>
Тогда в коде можно просто :

C#
1
2
SqlConnection myLibrary = new SqlConnection(config.ConnectionString); //подключение
myLibrary.Open();  //подрубились
1
Alchi09
204 / 132 / 6
Регистрация: 15.11.2009
Сообщений: 1,654
01.07.2014, 15:22  [ТС] 5
Цитата Сообщение от Iwillbeagod Посмотреть сообщение
Для подключения можно создать что-то типа такого:
Это в program.cs? а подключать библиотеки какие надо(там using System.Data)? SecureString и многое другое подчеркивает...
0
Iwillbeagod
28 / 28 / 17
Регистрация: 19.12.2012
Сообщений: 144
Записей в блоге: 1
01.07.2014, 15:42 6
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

В вашем случае проще так:

1. Конфиг:

XML
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <connectionStrings>
    <add name="MyConnString"
       connectionString="Initial Catalog=MyTestDB;Server=xxx.xxx.xxx.xxx;user id=user;password=pwd"
       providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>
где user и pwd - для винды того компа куда лезем.

2. Форма:

C#
1
2
3
4
5
6
7
8
9
public string ConnectionString
        {
            get
            {
                ConnectionStringsSection config = (ConnectionStringsSection)ConfigurationSettings.GetConfig("connectionStrings");
                ConnectionStringSettings connString = config.ConnectionStrings["MyConnString"];
                return connString.ToString();
            }
        }
Так коннектимся:

C#
1
2
 SqlConnection myLibrary = new SqlConnection(this.ConnectionString);
 myLibrary.Open();
Все остальное лишнее)
1
Alchi09
204 / 132 / 6
Регистрация: 15.11.2009
Сообщений: 1,654
01.07.2014, 15:42  [ТС] 7
ничего не получается: using System.data.... прописал. Подчеркивает все подряд. чего не хватает. Может есть, мануал, где от и до создается мелкий проектик..
0
Psilon
Master of Orion
Эксперт .NET
6000 / 4850 / 902
Регистрация: 10.07.2011
Сообщений: 14,460
Записей в блоге: 5
Завершенные тесты: 4
01.07.2014, 16:33 8
Alchi09, мой совет - пользуйтесь linq2sql, намного приятнее же. Пример по работе мой:
Linq to sql. Какой вариант работы с базой правильный?
не мои есть в инете, они получше мб.
1
sithy
16 / 16 / 4
Регистрация: 17.10.2012
Сообщений: 73
01.07.2014, 20:05 9
Psilon, linq2sql-это какахи мамонта,не?
0
Psilon
Master of Orion
Эксперт .NET
6000 / 4850 / 902
Регистрация: 10.07.2011
Сообщений: 14,460
Записей в блоге: 5
Завершенные тесты: 4
01.07.2014, 21:49 10
sithy, лол, наоборот же.
0
sithy
16 / 16 / 4
Регистрация: 17.10.2012
Сообщений: 73
02.07.2014, 02:00 11
Psilon, я думал,что linq2entities стабильнее развивается да и перспективнее. Если это не так,исправьте .
0
Psilon
Master of Orion
Эксперт .NET
6000 / 4850 / 902
Регистрация: 10.07.2011
Сообщений: 14,460
Записей в блоге: 5
Завершенные тесты: 4
02.07.2014, 02:40 12
sithy, у меня было много проблем из-за состояния гонок под капотом EF. То есть иногда он работает, иногда нет, иногда данные возвращаются, иногда нет... А иногда возвращаются, но заполнена только часть полей... В общем после этого я разлюбил EF. Ну и да, l2s проще. Приконнектился к базе, перетащил таблицы и функции, на этом все. ПОльзуйся на здоровье. Даже думать не надо об иерархиях, зависимостях, и т.п. В общем, тут парень правильно объяснил все
http://stackoverflow.com/questions/364740/linq-2-sql-or-linq-entities

Добавлено через 1 минуту
еще:
http://stackoverflow.com/questions/8...vs-linq-to-sql
0
sithy
16 / 16 / 4
Регистрация: 17.10.2012
Сообщений: 73
02.07.2014, 03:12 13
Psilon, так-то оно так,проблема l2s ,на мой взгляд ,в том,что эта технология ещё прочнее привязывает программиста к майкрософтовскому стеку,что есть зло.l2e в меньшей степени этим страдает благодаря поставщикам данных.
0
Psilon
Master of Orion
Эксперт .NET
6000 / 4850 / 902
Регистрация: 10.07.2011
Сообщений: 14,460
Записей в блоге: 5
Завершенные тесты: 4
02.07.2014, 15:13 14
sithy, ну лично меня MSSQL устраивает на 100% Хотя с ораклом работают наши коллеги-джависты, и насколько я помню, у нас есть солюшн на l2s, который туда пишет или оттуда читает (такая прослойка между их частью работы и нашей). Надо будет глянуть, я так сразу не помню, как мы с ней взаимодействуем. Но точно не через чистый SQL и не через EF.
0
02.07.2014, 15:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2014, 15:13

Не могу подключиться к базе данных MS SQL
Не могу подключиться к базе данных, как исправить ? con.ConnectionString =...

Не могу подключиться к базе данных SQL из программы
Здравствуйте! Аналогичные темы смотрел, решения не нашёл. Моя конфигурация:...

Работа с базой данных MS SQL Server 2008 r2 на C#
Подскажите плиз создала БД в sql sever через менеджмент студио. написала...


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

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

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