Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Спасайте! Не компилится код под c#, хотя аналогичный на c++ компилится 
:(
    Опции темы
kernel_mode
Дата 18.7.2007, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 18.7.2007

Репутация: нет
Всего: нет



Код такой
Код

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;

namespace ConsoleApplication1_DB_
{
    class Program
    {
        static void Main(string[] args)
        {
            OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=TestDB.mdb");
            conn.Open();
        conn.Close();
        }
    }
}

Гениально, да? smile
При запуске выдаётся вот такой бред:

Необработанное исключение: System.InvalidOperationException: Поставщик 'Microsof
t.Jet.OLEDB.4.0' не зарегистрирован на локальном компьютере.
   в System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString
constr, DataSourceWrapper& datasrcWrapper)
   в System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString const
r, OleDbConnection connection)
   в System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptio
ns options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection ow
ningObject)
   в System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbCo
nnection owningConnection, DbConnectionPoolGroup poolGroup)
   в System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection own
ingConnection)
   в System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection out
erConnection, DbConnectionFactory connectionFactory)
   в System.Data.OleDb.OleDbConnection.Open()
   в ConsoleApplication1_DB_.Program.Main(String[] args) в D:\Projects\ConsoleAp
plication1(DB)\ConsoleApplication1(DB)\Program.cs:строка 15
Для продолжения нажмите любую клавишу . . .
(в окне консоли)
Аналогичный код на c++ компилится и запускается на ура...
PM MAIL   Вверх
v2v
Дата 18.7.2007, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



а какой источник данных в с++ ты используешь тоже оле  ?? может попробуй с одбц ?


--------------------
PM   Вверх
Retro
Дата 18.7.2007, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Диалектик
***


Профиль
Группа: Участник Клуба
Сообщений: 1934
Регистрация: 28.6.2005
Где: Киев

Репутация: 9
Всего: 117



Странно, у меня отлично компилится. Может лазил в настройки какие-то?
PM MAIL   Вверх
kernel_mode
Дата 18.7.2007, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 18.7.2007

Репутация: нет
Всего: нет



В с++ тоже oledb, но там всё работает. С БД начал разбираться только сегодня, так что как odbc юзать не знаю. Какая строка соединения для access должна быть, если используется odbc? 
P.S.:Вообще, конечно, хотелось бы узнать почему oledb с шарпом глючит...
P.P.S. Стоит виста, VS 2005 SP1 с апдейтом для висты, так что здесь проблем не должно быть...
PM MAIL   Вверх
kernel_mode
Дата 18.7.2007, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 18.7.2007

Репутация: нет
Всего: нет



Если юзать odbc, то вот такое безобразие в консоли выводится:

Необработанное исключение: System.Data.Odbc.OdbcException: ERROR [IM002] [Micros
oft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, ис
пользуемый по умолчанию
   в System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode re
tcode)
   в System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, Odbc
ConnectionString constr, OdbcEnvironmentHandle environmentHandle)
   в System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, O
dbcConnectionString connectionOptions)
   в System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions
 options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owni
ngObject)
   в System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbCo
nnection owningConnection, DbConnectionPoolGroup poolGroup)
   в System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection own
ingConnection)
   в System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection out
erConnection, DbConnectionFactory connectionFactory)
   в System.Data.Odbc.OdbcConnection.Open()
   в ConsoleApplication1_DB_.Program.Main(String[] args) в D:\Projects\ConsoleAp
plication1(DB)\ConsoleApplication1(DB)\Program.cs:строка 15
Для продолжения нажмите любую клавишу . . .
Вот код:
Код

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.Odbc;

namespace ConsoleApplication1_DB_
{
    class Program
    {
        static void Main(string[] args)
        {
            OdbcConnection conn = new OdbcConnection("Driver={Microsoft Access Driver (*.mdb)};DBQ=TestDB.mdb");
            conn.Open();
        conn.Close();
        }
    }
}


PM MAIL   Вверх
mr.DUDA
Дата 19.7.2007, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



MDAC поставьте, и на www.connectionstrings.com посмотрите формат строки соединения.

P.S.
Модератор: Название темы должно отражать ее суть! Компиляция и ошибка времени выполнения - разные вещи.


--------------------
user posted image
PM MAIL WWW   Вверх
kernel_mode
Дата 19.7.2007, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 18.7.2007

Репутация: нет
Всего: нет



Цитата(mr.DUDA @ 19.7.2007,  09:00)
MDAC поставьте, и на www.connectionstrings.com посмотрите формат строки соединения.

P.S.
Модератор: Название темы должно отражать ее суть! Компиляция и ошибка времени выполнения - разные вещи.

На висте не MADC, а DAC, скачать я его не смог (ничего не нашёл даже на microsoft downloads)... Пробовал делать вот так: http://msmvps.com/blogs/spywaresucks/archi.../11/897398.aspx, поле в vs генерировал строку соединения (Data->Add new data source, там делал новое соединение, выбирал odbc, нужный драйвер и бд, после просто копировал строку соединения), не помогло.
Код

OdbcConnection conn = new OdbcConnection(@"Dsn=MS Access Database;dbq=D:\Documents\TestDB.accdb;defaultdir=D:\Documents;driverid=25;fil=MS Access;maxbuffersize=2048;pagetimeout=5;uid=admin");

Самое смешное, что когда тестил соединение в мастере создания соединений, то всё проходило успешно.
За название темы прошу прощения smile
=====
Разобрался! smile Всё оказалось просче, чем я думал: надо собирать прогу для 32-х систем smile

Это сообщение отредактировал(а) kernel_mode - 19.7.2007, 19:48
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0939 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.