Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.84/57: Рейтинг темы: голосов - 57, средняя оценка - 4.84
and068
0 / 0 / 1
Регистрация: 07.06.2012
Сообщений: 24
1

Ошибка при открытии БД: "Нераспознаваемый формат базы данных"

20.12.2012, 21:42. Просмотров 10368. Ответов 16
Метки нет (Все метки)

здравствуйте. подскажите что я не так делаю. как присоединить эту чертову БД и сделать простейший запрос. на запуске выдает ошибку : не распознаваемый формат базы данных.. аа не чего не понимаю (((
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
 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication8
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
                    // Формируем строку с параметрами подключения к файлу базы данных
            string connectionString ="provider=Microsoft.Jet.OLEDB.4.0;" +"data source=C:\\BD\\video.accdb";
            
            
 
        // создаем объект OleDbConnection для соединения с Бд и передаем его конструктору строку с параметрами подключения
        OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
 
        // создаем объект OleDbCommand
        OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
        myOleDbCommand.CommandText = "SELECT Firma " + "FROM Таблица ";
            myOleDbConnection.Open();
 
        OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();
        myOleDbDataReader.Read();
        
        myOleDbDataReader.Close();
        myOleDbConnection.Close();
        }
возможно я чего то не догоняю или неправильно делаю (
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 21:42
Ответы с готовыми решениями:

При открытии в A2007 выдает Нераспознаваемый формат данных
Помогите разобраться. База данных сделана в 2010 accesse . При попытке ее открыть в 2007 ...

Ошибка подключения. Нераспознаваемый формат базы данных
Не проходит подключение к базе, выдает ошибку: "Ошибка подключения. Нераспознаваемый формат базы...

Ошибка "База данных уже существует". При отсутствии базы данных
День добрый! Помогите, пожалуйста, разобраться с проблемой. Есть довольно простой код,...

Ошибка "Файл базы данных занят" при попытке подключения к ней
работаю с бд через шарп . C:\Temp\Паспорт.fdb" в этой директории потом папку темп перекидываю на...

При обновлении базы выходит ошибка "conversion error from string "27,5""
Здравствуйте при обновлении базы выходит ошибка "conversion error from string "27,5"" на картинке...

16
Elektr_A
20 / 14 / 2
Регистрация: 16.03.2012
Сообщений: 40
20.12.2012, 21:52 2
У тебя база данных написанная на Access 2005?
0
and068
0 / 0 / 1
Регистрация: 07.06.2012
Сообщений: 24
20.12.2012, 21:59  [ТС] 3
нет. в 2007
0
Elektr_A
20 / 14 / 2
Регистрация: 16.03.2012
Сообщений: 40
20.12.2012, 22:03 4
Тогда вот посмотри мой код , как Я инициализирую БД.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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.OleDb;
 
namespace Kypca4
{
    public partial class Ud_Buf : Form
    {
        OleDbConnectionStringBuilder bldr;
        OleDbConnection cn;
        public Ud_Buf()
        {
            InitializeComponent();
            bldr = new OleDbConnectionStringBuilder();
            bldr.DataSource = Data.str;
            bldr.Provider = "Microsoft.ACE.OLEDB.12.0";
это для 2007)
Это подробно с самого начала , что бы было понятнее.
1
20.12.2012, 22:03
and068
0 / 0 / 1
Регистрация: 07.06.2012
Сообщений: 24
20.12.2012, 22:07  [ТС] 5
а дальше как? нужно же вроде путь указать к самой бд
0
Elektr_A
20 / 14 / 2
Регистрация: 16.03.2012
Сообщений: 40
20.12.2012, 22:13 6
Если хочешь Я могу тебе показать как Я показываю содержимое таблиц БД в DGV )
Показать? Там именно Вывод с подключением
1
and068
0 / 0 / 1
Регистрация: 07.06.2012
Сообщений: 24
20.12.2012, 22:16  [ТС] 7
если не сложно.)
0
Elektr_A
20 / 14 / 2
Регистрация: 16.03.2012
Сообщений: 40
20.12.2012, 22:19 8
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
using System.Data.SqlClient;
 
namespace Kypca4
{
    public partial class Form5 : Form
    {
        public OleDbConnectionStringBuilder bldr;
        public Form5()
        {
            InitializeComponent();
            this.ControlBox = false; 
            bldr = new OleDbConnectionStringBuilder();
            bldr.DataSource = Data.str; 
            bldr.PersistSecurityInfo = true;
            bldr.Provider = "Microsoft.ACE.OLEDB.12.0";
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Form3 f3 = new Form3();
            f3.Show();
            this.Close();
        }
        private void button2_Click(object sender, EventArgs e)
        {
            OleDbConnection cn;
            string nameTable = "";
            string strSQL;
            switch (comboBox1.SelectedIndex)
            {
                case 0: nameTable = "[Рабочие]";
                    break;
                case 1: nameTable = "[Буфет]";
                    break;
                case 2: nameTable = "[Склад]";
                    break;
                case 3: nameTable = "[Продажа]";
                    break;
            }
            strSQL = "SELECT * FROM " + nameTable;
            using (cn = new OleDbConnection(bldr.ConnectionString))
            {
                try
                {
                    cn.Open();
                    OleDbCommand cnd = new  OleDbCommand(strSQL, cn);
                    OleDbDataReader rdr = cnd.ExecuteReader(); 
                    DataTable t = new DataTable();
                    t.Load(rdr);
                    dataGridView1.DataSource = t.DefaultView;
                    cn.Close();
                }
                catch (SqlException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
 
        private void Form5_Load(object sender, EventArgs e)
        {
 
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
 
        }
    }
}
Ниже скрин шот Формы)
1
Миниатюры
Ошибка при открытии БД: "Нераспознаваемый формат базы данных"  
Elektr_A
20 / 14 / 2
Регистрация: 16.03.2012
Сообщений: 40
20.12.2012, 22:22 9
А вот еще чисто подключение
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
using System.Data.OleDb;
 
namespace Kypca4
{
    public partial class Form3 : Form
    {
        OleDbConnectionStringBuilder bldr;
        OleDbConnection cn;
        //string con = "БД не подключена";
        public Form3()
        {
            InitializeComponent();
            this.ControlBox = false;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            bldr = new OleDbConnectionStringBuilder();
            openFileDialog1.ShowDialog();
            bldr.DataSource = openFileDialog1.FileName;
            bldr.Provider = "Microsoft.ACE.OLEDB.12.0";
            Data.str = bldr.DataSource.ToString();
            using (cn = new OleDbConnection(bldr.ConnectionString))
            {
                cn.Open();
                Data.con = "БД подключена";
            }
            if (Data.con == "БД подключена")
            {
                MessageBox.Show("База данных подключена");
            }
        }
подключается через OpenFileDialog , то есть Ты сам ищешь БД. Но при желании можно указать путь.
1
and068
0 / 0 / 1
Регистрация: 07.06.2012
Сообщений: 24
20.12.2012, 22:28  [ТС] 10
Цитата Сообщение от Elektr_A Посмотреть сообщение
C#
1
strSQL = "SELECT * FROM " + nameTable; using (cn = new OleDbConnection(bldr.ConnectionString)) { try { cn.Open(); OleDbCommand cnd = new OleDbCommand(strSQL, cn); OleDbDataReader rdr = cnd.ExecuteReader(); DataTable t = new DataTable(); t.Load(rdr); dataGridView1.DataSource = t.DefaultView; cn.Close(); } catch (SqlException ex) { MessageBox.Show(ex.Message); } } }
я так понял это вывод?

Добавлено через 29 секунд
C#
1
2
3
4
5
6
 InitializeComponent();
            this.ControlBox = false; 
            bldr = new OleDbConnectionStringBuilder();
            bldr.DataSource = Data.str; 
            bldr.PersistSecurityInfo = true;
            bldr.Provider = "Microsoft.ACE.OLEDB.12.0";
вот так сори

Добавлено через 3 минуты
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
   strSQL = "SELECT * FROM " + nameTable;
            using (cn = new OleDbConnection(bldr.ConnectionString))
            {
                try
                {
                    cn.Open();
                    OleDbCommand cnd = new  OleDbCommand(strSQL, cn);
                    OleDbDataReader rdr = cnd.ExecuteReader(); 
                    DataTable t = new DataTable();
                    t.Load(rdr);
                    dataGridView1.DataSource = t.DefaultView;
                    cn.Close();
                }
                catch (SqlException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
 
        private void Form5_Load(object sender, EventArgs e)
        {
 
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
 
        }
    }
}
точнее вот. не то вставил)
0
Elektr_A
20 / 14 / 2
Регистрация: 16.03.2012
Сообщений: 40
20.12.2012, 22:32 11
Именно так, это вывод!)
0
and068
0 / 0 / 1
Регистрация: 07.06.2012
Сообщений: 24
20.12.2012, 22:41  [ТС] 12
все. я окончательно запутался. почему интересно по моему коду не работает?
0
Elektr_A
20 / 14 / 2
Регистрация: 16.03.2012
Сообщений: 40
20.12.2012, 22:58 13
А какую ошибку выдает?
0
Kimov
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 21
21.12.2012, 12:32 14
Цитата Сообщение от Elektr_A Посмотреть сообщение
А какую ошибку выдает?
не распознаваемый формат базы данных

Добавлено через 31 секунду
я с аккаунта друга если что
0
Elektr_A
20 / 14 / 2
Регистрация: 16.03.2012
Сообщений: 40
22.12.2012, 00:00 15
Значит так, если Ты писал на 2007 , то возможно просто не распознается формат *.accdb , пересохрани базу данных в формате *.db , там в Access есть функция "Сохранить как" и выбери : сохранить как БД Access 2002-2003
0
fifa068
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 93
22.12.2012, 12:02 16
я переписал код. сохранил БД в 2003 и теперь он пишет такую ошибку : Отсутствуют данные для строки или столбца.
0
KillerJo
5 / 5 / 1
Регистрация: 27.12.2016
Сообщений: 127
Завершенные тесты: 1
27.12.2016, 19:48 17
Заменить в строке
string connectionString ="provider=Microsoft.Jet.OLEDB.4.0;"

на это
string connectionString ="Provider=Microsoft.ACE.OLEDB.12.0;"
1
27.12.2016, 19:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2016, 19:48

Ввод данных в пустую таблицу выбранной записи и ошибка "входная строка имеет неверный формат"
ввожу данные в пустую таблицу выбранной записи таким образом if...

Ошибка "Входная строка имела неверный формат" при записи даты в БД Access
Здравствуйте! Имеется форма добавления данных в базу Access, в ней присутствует поле "Дата", но...

Ошибка при открытии базы данных SQLite
Добрый вечер. Ситуация такая, пытаюсь работать с базой данных, но при открытии соединения возникает...


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

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

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