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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ADO.Net. Коннект c *.mdb, mdb с паролем 
:(
    Опции темы
Dimyan
Дата 20.5.2004, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Как в ADO.Net законектится с файлом базы данных Access если она защищена поролем (пороль я естественно знаю smile.gif) ?


--------------------
Как хорошо ничего не делать, а потом еще немного отдохнуть :)
PM MAIL ICQ   Вверх
stron
Дата 20.5.2004, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Консультант
***


Профиль
Группа: Комодератор
Сообщений: 1654
Регистрация: 17.7.2003
Где: Питер

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



А так пробовал?
Код

OleDbConnection con = new OleDbConnection("Data Source=localhost;" +
          "Initial Catalog=c:\Nortwdind.mdb;user id=sa;password=secret;" +
          "Provider=Microsoft.Jet.OLEDB.4.0");



--------------------
подписи нет
PM ICQ   Вверх
AntonSaburov
Дата 20.5.2004, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


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

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



Вот строка, которая у меня прекрасно это делает (Пароля правда там не требовалось, но это уже не сложно добавить).

Код

OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database.MDB");

PM MAIL WWW ICQ   Вверх
stron
Дата 20.5.2004, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Консультант
***


Профиль
Группа: Комодератор
Сообщений: 1654
Регистрация: 17.7.2003
Где: Питер

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



Базовые параметры ConnectionString'а:

AttachDBFilename / Initial File Name
Used only if you want to connect to an attachable database file (for example, an .mdf file that isn't registered with the database system). Normally, you use the Initial Catalog parameter instead.

Connect Timeout / Connection Timeout
The length of time (in seconds) to wait for a connection to the server before terminating the attempt and generating an error. Defaults to 15 seconds, and 0 seconds represents an infinite wait.

Data Source / Server / Address / Addr / Network Address
The server name or network address of the database product to connect to. Use localhost for the current computer.

Initial Catalog / Database
The name of the database to use for all subsequent operations (insertions, deletions, queries, and so on).

Integrated Security / Trusted_Connection
Defaults to false. When set to true or SSPI, the .NET provider attempts to connect to the data source using Windows integrated security.

Persist Security Info
When set to false (the default), security-sensitive information such as the password is removed from the ConnectionString property as soon as the connection is opened. Thus, you can't retrieve this information in your code.

User ID
no comments

Password/Pwd
no comments

Это сообщение отредактировал(а) stron - 20.5.2004, 12:20


--------------------
подписи нет
PM ICQ   Вверх
Dimyan
Дата 22.5.2004, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Что то у меня не получается sad.gif
Приведенные выше примеры это для доступа к запороленой БД или к БД защищенной на уровне пользователей.
Мне нужно получить боступ к полностью запороленой БД
Но когда я пытаюсь создать конект (даже с помошью мастера конектов VS.Net) он выдает исключение "Не удается запустить приложение. Системная база данных отсутствует или открыта с монопольным доступом другим пользователем" sad.gif
И еще VS.Net (как обычно это и делается) просит имя пользователя и пароль, а Access только пароль (и создается только пароль и при открытии только его просит ввести)

Короче у меня ничего не получается butbut.gif


--------------------
Как хорошо ничего не делать, а потом еще немного отдохнуть :)
PM MAIL ICQ   Вверх
stron
Дата 22.5.2004, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Консультант
***


Профиль
Группа: Комодератор
Сообщений: 1654
Регистрация: 17.7.2003
Где: Питер

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



Цитата

Приведенные выше примеры это для доступа к запароленной БД или к БД защищенной на уровне пользователей.
Мне нужно получить боступ к полностью запароленной БД

Я не совсем понимаю, что такое "полностью запароленная БД"
БД к которой не имеет доступа пользователь системы?


--------------------
подписи нет
PM ICQ   Вверх
Dimyan
Дата 23.5.2004, 06:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



stron, незнаю как правильно выразиться rolleyes.gif , но вобщем пароль задается так:

(в Access) Файл->Открыть при выборе в окне открытия кликаем по стрелки у кнопки "Открыть" и выбираем "Монопольно" . Далше Сервис->Защита->Задать пороль базы данных

Вот что я имел в виду



--------------------
Как хорошо ничего не делать, а потом еще немного отдохнуть :)
PM MAIL ICQ   Вверх
Dimyan
Дата 1.6.2004, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ребятки, чет я вообще запутался. Ни фига никак у меня не выходит. sad.gif
Может я и в Access (я уже в этом почти уверен sad.gif) нетак пороль создаю.
Подскажите, как это делается?


--------------------
Как хорошо ничего не делать, а потом еще немного отдохнуть :)
PM MAIL ICQ   Вверх
Kurt
Дата 1.6.2004, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


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

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



Приветствую!
Повозился с этим Access'ом.. Должен признать, проблемка действительно заставляет помучиться.. smile.gif
Т.к. опыта работы с Access у меня толком нету, то я пока не понимаю, как с ним связаться через OleDb - блин, он требует какой-то файл группы..
Однако, если тебе все-таки нужно решение данной задачи, могу предложить самый короткий путь - в обход.
А именно:
попробуй связаться через ODBC! Согласен, эт не ответ на вопрос, однако, если время поджимает - стоит опробовать..
Вобщем так. Я запаролил базу, как ты и говорил (пароль=1).
Создал таблицу с двумя столбцами (int..), теперь достаю данные (эт не принципиально - можно и не только доставать..):

Код

using System;
using System.Data;
using System.Data.Odbc;

class MainClass
{
public static void Main(string[] args)
{
 OdbcConnection cn = new OdbcConnection();
 cn.ConnectionString=@"Driver={Microsoft Access Driver (*.mdb)};DBQ=G:\ac1.mdb; uid=Admin; pwd=1";
 cn.Open();
 String strSQL = "select c1, c2 from myTable";
 OdbcCommand mycmd=new OdbcCommand(strSQL, cn);
 OdbcDataReader reader;
 reader=mycmd.ExecuteReader();
 while (reader.Read()){
  Console.WriteLine(reader["c1"].ToString()+"  "+reader["c2"].ToString());
 }
 reader.Close();
 cn.Close();
}
}


Обрати внимание - я использую Admin в качестве имени пользователя (это владелей базы по-умолчанию).
Вот. Все работает.
Может, через ODBC немного медленнее, но я надеюсь, скорость тебе тут не сильно критична (иначе - я б использовал другую СУБД..).
Помогло?
MfG, Kurt.




--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
Dimyan
Дата 2.6.2004, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Kurt, спасибо, но это не подходит sad.gif
время еще чуть чуть есть (проект готов только в этом загвоздка)
а вот наличие соединения через OleDb обязательно sad.gif



--------------------
Как хорошо ничего не делать, а потом еще немного отдохнуть :)
PM MAIL ICQ   Вверх
Dimyan
Дата 7.6.2004, 06:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну вот, нашол решение ;)

1) Значит, задаем пороль в базе Access как я (смотри выше) описал
2) строка конекта:
Код
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MyBase.mdb;Jet OLEDB:Database Password=12345";

12345 - Вош пороль
3) в MSDN нарыл (блин там есть все но хрен че найдешь sad.gif ) вот такую статью: "ADO Provider Properties and Settings", советую прочитать всем кто хоть както связан с использованием ADO


--------------------
Как хорошо ничего не делать, а потом еще немного отдохнуть :)
PM MAIL ICQ   Вверх
СЭНСЭЙ
Дата 19.2.2007, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Подскажите кто нибудь - есть ли какая то возможность сгенерировать dbf документ из приложения
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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