Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Anna502
14 / 14 / 3
Регистрация: 02.07.2010
Сообщений: 99
1

Как связаться с базой данных??

15.07.2010, 21:11. Просмотров 1539. Ответов 6
Метки нет (Все метки)

Привет всем.
Недавно стала учить ADO.Net и вот уже есть проблема.
У меня SQL Server 2005 и при включении Проверка подлинности поставлена на Проверка подлинности Windows, так что пароль не нужен. Я создала базу Persons и когда попыталась подключиться к ней, появилась ошибка.

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
35
36
37
38
39
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
 
namespace PersonBase
{
    class Program
    {
        static  SqlConnection sqlconnection = new SqlConnection();
        static void Main(string[] args)
        {
            sqlconnection.ConnectionString = "Server = (local); DataBase = 'Persons'; Integrated Security = true";
            sqlconnection.Open();
 
            for (; ; )
            {
                Console.WriteLine("1 - Insert new person, 2 - print persons, 3 - delete person");
 
                int k = int.Parse(Console.ReadLine());
                if (k == 1)
                {
                   
                    Console.WriteLine("Insert new person");
                }
                if (k == 2)
                {
                    Console.WriteLine("print persons");
                }
                if (k == 3)
                {
                    Console.WriteLine("delete  person");
                }
            }
        }
    }
}
Cannot open database "Persons" requested by the login. The login failed.
Login failed for user 'Anna-PC\Anna'.

Может это глупый вопрос, но буду очень признательна за помощь.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2010, 21:11
Ответы с готовыми решениями:

Как работать с базой данных?
Мне нужно по кнопке добавлять или удалять данные из базы данных. Работаю с Access, так как больше...

Как подключиться и работать с базой данных
Доброго времени суток. У меня такая ситуация. Взял у преподавателя индивидуальное задание (Пытаюсь...

Как скопировать проект с привязанной базой данных?
Добрый день! Очень нужна помощь вот с чем: есть прога на c# в visual studio и привязанная к ней...

Как организовать работу приложения с базой данных?
Планируется: - написать приложение WinForm, которое будет работать с базой данных (например: кадры...

Как соединиться с MySQL базой данных phpMyAdmin?
Добрый вечер. Как соединиться с базой данных phpMyAdmin с программы. Вот код using...

6
ksk
619 / 487 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
15.07.2010, 21:24 2
Попробуйте
Код
Integrated Security = SSPI
0
Anna502
14 / 14 / 3
Регистрация: 02.07.2010
Сообщений: 99
15.07.2010, 21:31  [ТС] 3
Надо было написать
C#
1
Data Source=Anna-PC\SQLEXPRESS;Initial Catalog=Persons;Integrated Security=True
.
Сейчас нормально работает.
0
kanana
9 / 9 / 3
Регистрация: 01.12.2009
Сообщений: 172
16.07.2010, 13:46 4
в таких случаях проще использовать StringBuilder-подобных проблем не возникнет.
0
Бек
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 11
23.07.2010, 15:25 5
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
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data.OleDb;
 
namespace SQLOLEConnection1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection cnSQL = new SqlConnection();
            cnSQL.ConnectionString = "Data Source=samlab/SQLEXPRESS;AttachDbFilename=D:/example/ExamplewithSQLServerDataBase/ExamplewithSQLServerDataBase/app_Data/Data.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
            cnSQL.Open(); //??????????????
 
            OleDbConnection cnOle = new OleDbConnection();
            cnOle.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='D:/Ахангаран ГЭС программа зарплата и базы данных/data/database.mdb'";
            cnOle.Open();
 
            MessageBox.Show("OK ... ");
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            string strSQL  = "select * from person order by id";
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='D:/Ахангаран ГЭС программа зарплата и базы данных/data/database.mdb'";
            OleDbDataAdapter daCustomers = new OleDbDataAdapter(strSQL,strConn);
            DataTable tblCustomers = new DataTable();
            daCustomers.Fill(tblCustomers);
            dataGridView1.DataSource = tblCustomers;
              
 
            MessageBox.Show("OK ... ");
        }
    }
}
Выдает следующую ошибку
Ошибка при подключении к серверу. При подключении к SQL Server 2005 эта ошибка может быть вызвана тем, что стандартные параметры SQL Server не разрешают удаленные подключения. (provider: Поставщик именованных каналов, error: 40 - Не удалось открыть подключение к SQL Server)



Не могли бы подсказать где-же тут ошибка.
И потом как пользоваться с StringBuilder?
0
kanana
9 / 9 / 3
Регистрация: 01.12.2009
Сообщений: 172
23.07.2010, 16:49 6
http://msdn.microsoft.com/ru-ru/libr...ngbuilder.aspx
0
ksk
619 / 487 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
23.07.2010, 20:52 7
Например, так:

C#
1
2
3
4
                StringBuilder sb = new StringBuilder();
                foreach (CGeoItem gi in _gi_sellist)
                    sb.Append(String.Format("{0}{1}", sb.Length==0?"":", ", gi.ID));
                return " AND ID_Region IN (" + sb.ToString() + ") ";
То есть весь "первый слой" применения с.билдера заключается в sb.Append(строка) и в sb.ToString(), а остальное - ваши дела вокруг этого.


Таки SQL Server или .mdb?

Строку соединения с SQL Server делаю следующим образом:
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
        public String StrConn
        {
            get
            {
                if (_LogInByWindowsAuth)
                    return String.Format(
                    "Provider=SQLOLEDB; " +       // Как
                    "Data Source={0}; " +         // Сервер
                    "Initial Catalog={1}; " +     // База данных
                    "User ID={2}; " +             // Польователь
                    "Password={3}; "              // Пароль
 
                    , SRV                         // Сервер
                    , DBO                         // База данных
                    , UID                         // Польователь
                    , PWD                         // Пароль
                );
                else
                    return String.Format(
                    "Provider=SQLOLEDB; " +       // Как
                    "Data Source={0}; " +         // Сервер
                    "Initial Catalog={1}; " +     // База данных
                    "Integrated Security=SSPI; "  // Аки Win
                    , SRV                         // Сервер
                    , DBO                         // База данных
                );
            }
        }
Те которые большими буквами написаны - это свойства класса типа String.
В некоторых ситуациях вместо SSPI канает True

Получается например такое: Provider=SQLOLEDB; Data Source=KSK; Initial Catalog=FirmPages; User ID=sa; Password=123; для default instance сервера

Или вот такое: Provider=SQLOLEDB; Data Source=KSK; Initial Catalog=FirmPages; Integrated Security=SSPI; для named instance сервера
0
23.07.2010, 20:52
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2010, 20:52

Как правильно задать тип соединения с базой данных?
В программе работы с базой данных MDB решил выделить операции работы с базой данных в отдельный...

Как правильнее работать с базой при большом объеме данных?
Вопрос в следующем. Есть база со множеством таблиц. И есть программа, которая одновременно...

Как связаться с gps навигатором?
Добрый день) Пишу в надежде, что кто-то из форумчан сталкивался с похожей задачей Возможно ли...


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

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

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