206 / 135 / 6
Регистрация: 15.11.2009
Сообщений: 1,654
1

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

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

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

Как подключиться к базе данных на Wpf. База данных Sql Server
Раньше работал с Windows Worms, и то не долго. Щас хочу перейти на WPF. Я в этом деле еще...

Как подключиться к базе данных MySQL через Microsoft SQL Server Management Studio 18
База данных находиться на удаленном сервере. Microsoft SQL Server Management Studio 18 на личном...

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

Подключиться к базе данных созданной в sql server
Здравствуйте, могли бы подсказать пожалуйста. Нужно написать прогу, которая как-то...

13
30 / 29 / 18
Регистрация: 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
206 / 135 / 6
Регистрация: 15.11.2009
Сообщений: 1,654
01.07.2014, 14:50  [ТС] 3
Iwillbeagod, где писать? я не владею С# как таковым.. и какой писать пароль если там Windows Authentication?
0
30 / 29 / 18
Регистрация: 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
206 / 135 / 6
Регистрация: 15.11.2009
Сообщений: 1,654
01.07.2014, 15:22  [ТС] 5
Цитата Сообщение от Iwillbeagod Посмотреть сообщение
Для подключения можно создать что-то типа такого:
Это в program.cs? а подключать библиотеки какие надо(там using System.Data)? SecureString и многое другое подчеркивает...
0
30 / 29 / 18
Регистрация: 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
206 / 135 / 6
Регистрация: 15.11.2009
Сообщений: 1,654
01.07.2014, 15:42  [ТС] 7
ничего не получается: using System.data.... прописал. Подчеркивает все подряд. чего не хватает. Может есть, мануал, где от и до создается мелкий проектик..
0
Master of Orion
Эксперт .NET
6094 / 4950 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.07.2014, 16:33 8
Alchi09, мой совет - пользуйтесь linq2sql, намного приятнее же. Пример по работе мой:
Linq to sql. Какой вариант работы с базой правильный?
не мои есть в инете, они получше мб.
1
16 / 16 / 4
Регистрация: 17.10.2012
Сообщений: 73
01.07.2014, 20:05 9
Psilon, linq2sql-это какахи мамонта,не?
0
Master of Orion
Эксперт .NET
6094 / 4950 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.07.2014, 21:49 10
sithy, лол, наоборот же.
0
16 / 16 / 4
Регистрация: 17.10.2012
Сообщений: 73
02.07.2014, 02:00 11
Psilon, я думал,что linq2entities стабильнее развивается да и перспективнее. Если это не так,исправьте .
0
Master of Orion
Эксперт .NET
6094 / 4950 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.07.2014, 02:40 12
sithy, у меня было много проблем из-за состояния гонок под капотом EF. То есть иногда он работает, иногда нет, иногда данные возвращаются, иногда нет... А иногда возвращаются, но заполнена только часть полей... В общем после этого я разлюбил EF. Ну и да, l2s проще. Приконнектился к базе, перетащил таблицы и функции, на этом все. ПОльзуйся на здоровье. Даже думать не надо об иерархиях, зависимостях, и т.п. В общем, тут парень правильно объяснил все
http://stackoverflow.com/quest... q-entities

Добавлено через 1 минуту
еще:
http://stackoverflow.com/quest... inq-to-sql
0
16 / 16 / 4
Регистрация: 17.10.2012
Сообщений: 73
02.07.2014, 03:12 13
Psilon, так-то оно так,проблема l2s ,на мой взгляд ,в том,что эта технология ещё прочнее привязывает программиста к майкрософтовскому стеку,что есть зло.l2e в меньшей степени этим страдает благодаря поставщикам данных.
0
Master of Orion
Эксперт .NET
6094 / 4950 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.07.2014, 15:13 14
sithy, ну лично меня MSSQL устраивает на 100% Хотя с ораклом работают наши коллеги-джависты, и насколько я помню, у нас есть солюшн на l2s, который туда пишет или оттуда читает (такая прослойка между их частью работы и нашей). Надо будет глянуть, я так сразу не помню, как мы с ней взаимодействуем. Но точно не через чистый SQL и не через EF.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.07.2014, 15:13
Помогаю со студенческими работами здесь

Не могу подключиться к базе данных SQL Server Express
Доброго времени суток! Пытаюсь подключтиться к базе данных SQL из ASP.NET (WebForms) приложения....

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

Не могу подключиться к базе данных Mycrosoft SQL Server, которая на своём компе
Всё перепробовал. На C# с той же строкой подключения всё работает. Вот код : #include &lt;stdio.h&gt;...

Написание приложений для доступа к базе данных MS SQL Server 2008 r2
Доброе времени суток! Понимаю что задача возможно простая, но подобного рода задания я еще не...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru