Light-electric.com

IT Журнал
21 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Строка подключения к access

Access connection strings

.NET libraries

OLE DB providers

ODBC drivers

Wrappers and others

Microsoft ACE OLEDB 12.0

Standard security

With database password

This is the connection string to use when you have an Access 2007 — 2013 database protected with a password using the «Set Database Password» function in Access.

Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:myFoldermyAccessFile.accdb; Jet OLEDB:Database Password = MyDbPassword;

Some reports of problems with password longer than 14 characters. Also that some characters might cause trouble. If you are having problems, try change password to a short one with normal characters.

Note! Reports say that a database encrypted using Access 2010 — 2013 default encryption scheme does not work with this connection string. In Access; try options and choose 2007 encryption method instead. That should make it work. We do not know of any other solution. Please get in touch if other solutions is available!

DataDirectory functionality

Network Location

Standard security (mdb file)

With database password (mdb file)

This is the connection string to use when you have an Access 97 — 2003 database protected with a password using the «Set Database Password» function in Access.

Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:myFoldermyAccessFile.mdb; Jet OLEDB:Database Password = MyDbPassword;

Some reports of problems with password longer than 14 characters. Also that some characters might cause trouble. If you are having problems, try change password to a short one with normal characters.

DataDirectory functionality (mdb file)

Network Location (mdb file)

Microsoft Jet OLE DB 4.0

Standard security

With database password

This is the connection string to use when you have an access database protected with a password using the Set Database Password function in Access.

Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:mydatabase.mdb; Jet OLEDB:Database Password = MyDbPassword;

Some reports of problems with password longer than 14 characters. Also that some characters might cause trouble. If you are having problems, try change password to a short one with normal characters.

Workgroup (system database)

Workgroup (system database) specifying username and password

DataDirectory functionality

Network Location

Using RDS (MS Remote)

Access database over HTTP. You must setup RDS on the server for his to work.

Provider = MS Remote; Remote Provider = Microsoft.Jet.OLEDB.4.0; Remote Server = http://server.adress.com; Data Source = d:myPathmyDatabase.mdf;

Exclusive

Used to get exclusive access to the database if you, for instance, want to let the application be able to reset the database password.

Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:mydatabase.mdb; Mode = Share Exclusive; User Id = admin; Password = ;

.NET Framework Data Provider for OLE DB

Use an OLE DB provider from .NET

See the respective OLEDB provider’s connection strings options. The .net OleDbConnection will just pass on the connection string to the specified OLEDB provider. Read more here.

Microsoft Access accdb ODBC Driver

Standard Security

Workgroup

No changes were made to the .mdw file format for Office Access 2007. The Office Access 2007 Workgroup Manager creates .mdw files that are identical to those that are created in Access 2000 through Access 2003. The .mdw files that are created in those earlier versions can be used by databases in Office Access 2007.

Exclusive

Enable admin statements

To enable certain programatically admin functions such as CREATE USER, CREATE GROUP, ADD USER, GRANT, REVOKE and DEFAULTS (when making CREATE TABLE statements) use this connection string.

Driver = ; Dbq = C:mydatabase.accdb; Uid = Admin; Pwd = ; ExtendedAnsiSQL = 1;

Specifying locale identifier

Use this one to specify the locale identifier which can help with non-US formated dates.

Driver = ; Dbq = C:mydatabase.accdb; Locale Identifier = 2057; Uid = Admin; Pwd = ;

The above example uses the en-gb locale identifier (2057)

Строка подключения к access

Спрашивающий

Общие обсуждения

Данная статья восстановлена из кэша гугла.

Автор статьи: Александр Кобелев aka Megano.

Подключение к Access

В своей работе я буду использовать Visual Studio 2008 Pro & C#

Довольно часто на форуме всплывает данный вопрос, по сему решил обобщить разрозненную информацию в данном сообщении.

Я покажу в трех частях как можно подключиться и взаимодействовать с файлом базы данных Access .

Часть 1 — Где с помощью визуальных средств добавляем к нашему проекту копию файла данных.

Часть 2 — Где с помощью визуальных средств подключаем существующий файл без создания копии в проекте.

Часть 3 — Чисто код.

Первоначально понадобится таблица с данными в файле Access .

Имя файла db1.mdb, таблица People c данными:

Типы данных: Код_People — Счетчик, Имя — Текст, ДатаРождения — Дата/Время

Часть 1

Где с помощью визуальных средств добавляем к нашему проекту копию файла данных.

Создаем новый Windows Forms проект.

File → New → Project → Windows → Windows Forms Application и называем его VisualAccessConnect

правой кнопкой мыши по проекту → Add → Existing Item. → В типах файлов выбираем Data Fiels → после чего находим наш db1.mdb и жмем ОК .

Автоматически открывается Data Source Configuration Wizard → Отмечаем, что мы хотим выбрать все таблицы.

После чего у нас появляется в проекте строго типизированный DataSet содержащий в себе DataTable People и PeopleTableAdapter

Теперь добавляем на Form1 DataGridView

И в его свойстве DataSource выбираем нашу таблицу People

Читать еще:  Visual c access

Все готово к отображению данных и при нажатии ctrl + F5 вы увидите такую картину:

Если у вас вывалилось исключение — the ‘microsoft.jet.oledb.4.0’ provider is not registered on the local machine

Вам необходимо зайти в настройки проекта и выставить Platform Target x86

Теперь добавим кнопку, которая нам поможет внести изменения в базу.

Перетащим на Form1 Button, сделаем двойной клик мышью, на ней, и впечатаем следующий код в обработчике события

this .peopleTableAdapter.Update( this .db1DataSet.People);

Теперь мо жно запускать наш проект, вносить изменения в данные и сохранять их.

Первоначально, когда мы добавляем файл данных в проект — добавляется его копия, а оригинальный файл остается на своем месте, в неизменном состоянии.

То же самое происходит когда мы нажимаем ctrl + F5 в папку debug копируется копия уже скопированного в наш проект файла данных и если вы сделаете Rebuild проекта, то все изменения откатятся к первоначальному состоянию(так как файл в папку debug будет скопирован вновь из нашего проекта), но в релизной версии все будет работать превосходно.

Часть 2

Где с помощью визуальных средств подключаем существующий файл без создания копии в проекте.

Создаем новый Windows Forms проект.

File → New → Project → Windows → Windows Forms Application и называем его VisualAccessConnectViaFilePath

Нажимаем View → Server Explorer или ctrl + W + L

Вызываем контекстное меню у Data Connections → Add Connection

В открывшемся окне нажимаем кнопку Change напротив DataSource

И выбираем Microsoft Access Database File

После чего выбираем путь к нашему файлу и проверяем соединение

Теперь добавляем на форму DataGridView, в его свойстве DataSource выбираем Add Project Data Source

Data Base → И в выпадающем меню выбираем строку подключения к нашему файлу, которую мы создали ранее, после чего появится предупреждение что файл базы находится вне приложения с предложением сделать копию, выбираем NO

После чего в открывшемся мастере выбираем таблицу People ( см часть1) и ОК

Так же добавляем кнопку для сохранения изменений, аналогично как и в первой части.

Теперь наше приложение отображает данные с текущего файла данных и изменяет его при сохранении.

Будьте внимательны при развертывании приложения, так как ответственность за путь к файлу данных лежит на ваших плечах.

Часть 3

Создадим консольное приложение.

File → New → Project → Windows → Console Application и назовем его AccessConnectPureCode

И полностью заменяем весь автоматически сгенерированный код на

public static void Main()

string connectionString = @»provider=Microsoft.Jet.OLEDB.4.0; data source=C:Datadb1.mdb» ;

OleDbConnection myOleDbConnection = new OleDbConnection (connectionString);

OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();

myOleDbCommand.CommandText = «SELECT * FROM People» ;

OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();

Console .WriteLine( string .Format( «Id: <0>, Name: <1>, Birthday: <2>» ,

OleDbCommand changeDashaName = myOleDbConnection.CreateCommand();

changeDashaName.CommandText = @»UPDATE People SET Имя = ‘Даша’ WHERE Имя = ‘Dasha'» ;

Нужно проследить, чтоб строка подключения указывала на существующий файл.

Megano Blog

воскресенье, 20 июня 2010 г.

Подключение к Access

Редакция статьи от 26.04.2013

В своей работе я буду использовать Visual Studio 2008 Pro & C#

Довольно часто на форуме всплывает данный вопрос, по сему решил обобщить разрозненную информацию в данном сообщении.

Я покажу в трех частях как можно подключиться и взаимодействовать с файлом базы данных Access.

Часть 1 — Где с помощью визуальных средств добавляем к нашему проекту копию файла данных.

Часть 2 — Где с помощью визуальных средств подключаем существующий файл без создания копии в проекте.

Часть 3 — Чисто код.

Первоначально понадобится таблица с данными в файле Access.
Имя файла db1.mdb, таблица People c данными:

Код_People — Счетчик, Имя — Текст, ДатаРождения — Дата/Время

Часть 1
Где с помощью визуальных средств добавляем к нашему проекту копию файла данных.

Создаем новый Windows Forms проект.
File → New → Project → Windows → Windows Forms Application и называем его VisualAccessConnect

правой кнопкой мыши по проекту → Add → Existing Item. → В типах файлов выбираем Data Fiels → после чего находим наш db1.mdb и жмем ОК.

Автоматически открывается Data Source Configuration Wizard → Отмечаем, что мы хотим выбрать все таблицы.

После чего у нас появляется в проекте строго типизированный DataSet содержащий в себе DataTable People и PeopleTableAdapter

Теперь добавляем на Form1 DataGridView

И в его свойстве DataSource выбираем нашу таблицу People

Все готово к отображению данных и при нажатии ctrl + F5 вы увидите такую картину:

Если у вас вывалилось исключение — the ‘microsoft.jet.oledb.4.0’ provider is not registered on the local machine
Вам необходимо зайти в настройки проекта и выставить Platform Target x86

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

Теперь можно запускать наш проект, вносить изменения в данные и сохранять их.

Первоначально, когда мы добавляем файл данных в проект — добавляется его копия, а оригинальный файл остается на своем месте, в неизменном состоянии.

То же самое происходит когда мы нажимаем ctrl + F5 в папку debug копируется копия уже скопированного в наш проект файла данных и если вы сделаете Rebuild проекта, то все изменения откатятся к первоначальному состоянию(так как файл в папку debug будет скопирован вновь из нашего проекта), но в релизной версии все будет работать превосходно.

Если у вас возникли проблемы по первой части, можете посмотреть видео, которое проходит все описанные выше шаги с применением Visual Studio 2010:

Читать еще:  System unauthorized access

Часть 2
Где с помощью визуальных средств подключаем существующий файл без создания копии в проекте.

Создаем новый Windows Forms проект.
File → New → Project → Windows → Windows Forms Application и называем его VisualAccessConnectViaFilePath

Нажимаем View → Server Explorer или ctrl + W + L
Вызываем контекстное меню у Data Connections → Add Connection

В открывшемся окне нажимаем кнопку Change напротив DataSource

И выбираем Microsoft Access Database File

После чего выбираем путь к нашему файлу и проверяем соединение

Теперь добавляем на форму DataGridView, в его свойстве DataSource выбираем Add Project Data Source

Data Base → И в выпадающем меню выбираем строку подключения к нашему файлу, которую мы создали ранее, после чего появится предупреждение что файл базы находится вне приложения с предложением сделать копию, выбираем NO

После чего в открывшемся мастере выбираем таблицу People ( см часть1) и ОК
Так же добавляем кнопку для сохранения изменений, аналогично как и в первой части.

Теперь наше приложение отображает данные с текущего файла данных и изменяет его при сохранении.

Будьте внимательны при развертывании приложения, так как ответственность за путь к файлу данных лежит на ваших плечах.

Если у вас возникли проблемы по второй части, можете посмотреть видео, которое проходит все описанные выше шаги с применением Visual Studio 2010:

Часть 3
Чисто код.

Создадим консольное приложение.
File → New → Project → Windows → Console Application и назовем его AccessConnectPureCode

И полностью заменяем весь автоматически сгенерированный код на

Нужно проследить, чтоб строка подключения указывала на существующий файл.

Управление источниками данных ODBC

Open Database Connectivity (ODBC) — это протокол, используемый для подключения базы данных Microsoft Access к внешнему источнику данных, например Microsoft SQL Server. В этой статье содержатся общие сведения об источниках данных ODBC, способах их создания и подключения к ним с помощью Microsoft Access. Действия, которые требуется выполнить, зависят от используемых баз данных и драйверов ODBC.

В этой статье

Сведения об источниках данных ODBC

Источник данных — это источник, который содержит данные и сведения о подключении, необходимые для доступа к этим данным. Источником данных может быть сервер SQL Server, реляционная СУБД Oracle, электронная таблица или текстовый файл. Сведения о подключении могут включать расположение сервера, имя базы данных, идентификатор входа, пароль и различные параметры драйвера ODBC, описывающие способ подключения к источнику данных. Эти сведения можно получить у администратора базы данных, к которой нужно подключиться.

В архитектуре ODBC приложения (такие как Access) подключаются к диспетчеру драйверов ODBC, который, в свою очередь, использует конкретный драйвер ODBC (например, Microsoft SQL ODBC) для подключения к источнику данных. В Access источники данных ODBC используются для подключения к внешним источникам данных, у которых нет встроенных драйверов.

Чтобы подключиться к такому источнику данных, выполните указанные ниже действия.

Установите соответствующий драйвер ODBC на компьютере с источником данных.

Определите имя источника данных (DSN) с помощью программы Администратор источников данных ODBC, чтобы сохранить сведения о подключении в реестре Microsoft Windows или DSN-файле, либо с помощью строки подключения в коде Visual Basic, чтобы передать сведения о подключении непосредственно диспетчеру драйверов ODBC.

Машинные источники данных

Машинные источники данных хранят сведения о подключении в реестре Windows на определенном компьютере. Такие источники данных можно использовать только на компьютере, на котором они определены. Есть два типа машинных источников данных: пользовательские и системные. Пользовательские источники данных доступны и отображаются только для текущего пользователя. Системные источники данных могут использовать все пользователи компьютера. Они отображаются для всех этих пользователей и системных служб. Машинные источники данных особенно полезны, когда требуется обеспечить дополнительную защиту, поскольку машинный источник данных могут просматривать только вошедшие в систему пользователи. Кроме того, такой источник нельзя удаленно скопировать на другой компьютер.

Файловые источники данных

Файловые источники данных (также называемые DSN-файлами) хранят сведения о подключении в текстовых файлах, а не в реестре Windows, и, как правило, более гибки в использовании, чем машинные источники данных. Например, файловый источник данных можно скопировать на любой компьютер с подходящим драйвером ODBC, чтобы обеспечить в приложении точность и согласованность сведений о подключении ко всем используемым компьютерам. Кроме того, можно поместить файловый источник данных на отдельный сервер, сделать его общим для нескольких компьютеров в сети и легко управлять централизованными сведениями о подключении.

Некоторые файловые источники данных нельзя сделать общими. Такие источники располагаются на отдельном компьютере и указывают на машинный источник данных. Их можно применять для доступа к существующим машинным источникам данных из файловых источников данных.

Строки подключения

В модуле можно определить форматированную строку со сведениями о подключении. Строка подключения передает сведения о подключении непосредственно диспетчеру драйверов ODBC. Это помогает упростить приложение, устраняя необходимость создания DSN администратором или пользователем перед использованием базы данных.

Дополнительные сведения об интерфейсе ODBC см. в разделе MSDN Справочник программиста по ODBC.

Добавление источника данных ODBC

Прежде чем продолжить, установите подходящий драйвер ODBC для источника данных, к которому нужно подключиться.

Примечание: Для добавления или настройки источника данных ODBC необходимо входить в группу администраторов локального компьютера.

Нажмите кнопку Пуск и выберите пункт Панель управления.

На панели управления дважды щелкните элемент Администрирование.

Читать еще:  Ms access c

В диалоговом окне «Администрирование» дважды щелкните элемент Источники данных (ODBC).

Откроется диалоговое окно Администратор источников данных ODBC.

Откройте вкладку Пользовательский DSN, Системный DSN или Файловый DSN в зависимости от типа источника данных, который нужно добавить. Дополнительные сведения см. в разделе Сведения об источниках данных ODBC.

Нажмите кнопку Добавить.

Выберите драйвер, который нужно использовать, и нажмите кнопку Готово или Далее.

Если необходимого драйвера нет в списке, обратитесь к администратору базы данных, к которой нужно подключиться, и узнайте, как получить этот драйвер.

Следуйте указаниям и введите требуемые сведения о подключении в последующих диалоговых окнах.

Для получения дополнительных сведений об отдельных параметрах нажмите кнопку Справка в диалоговом окне ODBC.

Подключение к базе данных

Первое, что нужно сделать при работе с поставщиком данных — это установить сеанс с источником данных с помощью объекта подключения (порожденного, как вы помните, от DbConnection). У объектов подключения .NET имеется форматированная строка подключения, которая содержит ряд пар имя/значение, разделенных точками с запятой. Эта информация содержит имя машины, к которой нужно подключиться, необходимые параметры безопасности, имя базы данных на этой машине и другую информацию, зависящую от поставщика.

В следующем коде иллюстрируется создание, открытие и закрытие соединения с базой данных SqlServer:

Из приведенного выше кода можно понять, что имя Initial Catalog относится к базе данных, с которой нужно установить сеанс. Имя Data Source определяет имя машины, на которой расположена база данных. Элемент (local) позволяет указать текущую локальную машину (независимо от конкретного имени этой машины), а элемент SQLEXPRESS сообщает поставщику SQL Server, что вы подключаетесь к стандартной инсталляции SQL Server Express (если вы создали AutoLot с помощью полной версии SQL Server 2005 или более ранней, укажите Data Source=(local)). В данном примере я использовал вместо (local) полное название имени компьютера (MICROSOF-1EA29E), на котором развернута версия SQL Server.

Кроме того, можно указать любое количество элементов, которые задают полномочия безопасности. В нашем примере имени Integrated Security присвоено значение SSPI (что эквивалентно true), которое использует для аутентификации пользователя текущие полномочия учетной записи Windows.

Назначение каждой пары имя/значение для вашей СУБД можно узнать в документации по NET Framework 4.0 SDK, в описании свойства ConnectionString объекта подключения для вашего поставщика данных.

При наличии строки подключения вызов Open() устанавливает соединение с СУБД. В дополнение к членам ConnectionString, Open() и Close() объект подключения содержит ряд членов, которые позволяют настроить дополнительные параметры подключения, например, время тайм-аута и информацию, относящуюся к транзакциям.

Ниже приведены некоторые члены базового класса DbConnection:

BeginTransaction()

Используется для начала транзакции базы данных

ChangeDatabase()

Изменяет базу данных для открытого подключения

ConnectionTimeout

Свойство только для чтения. Возвращает время ожидания при установке подключения, после которого ожидание прекращается и выдается сообщение об ошибке (по умолчанию 15 секунд). Для изменения этого времени нужно изменить в строке подключения сегмент Connect Timeout (например, Connect Timeout=30)

Database

Свойство только для чтения. Содержит имя базы данных, с которой связан объект подключения

DataSource

Свойство только для чтения. Содержит местоположение базы данных, с которой связан объект подключения

GetSchema()

Этот метод возвращает объект DataTable, содержащий информацию схемы из источника данных

State

Свойство только для чтения. Содержит текущее состояние подключения в виде одного из значений перечисления ConnectionState

Свойства типа DbConnection предназначены в основном только для чтения и поэтому нужны, если требуется получить характеристики подключения во время выполнения. Если понадобится изменить стандартные значения, необходимо будет изменить саму строку подключения. Например, можно изменить время тайм-аута с 15 на 30 секунд:

Программная работа со строками подключения может оказаться несколько затруднительной, поскольку они часто представлены в виде строковых литералов, которые трудно обрабатывать и контролировать на наличие ошибок. Поставщики данных ADO.NET, разработанные Microsoft, поддерживают объекты построителей строк подключения (connection string builder object) (аналог StringBuilder), которые позволяют устанавливать пары имя/значение с помощью строго типизированных свойств. Рассмотрим следующую модификацию нашего метода Main():

В этом варианте создается экземпляр SqlConnectionStringBuilder, устанавливаются его свойства, и выбирается внутренняя строка из свойства ConnectionString. Здесь использован стандартный конструктор типа. При этом можно также создать экземпляр объекта построителя для строки подключения поставщика данных, передав в качестве отправной точки существующую строку подключения (это может оказаться удобным при динамическом чтении значений из файла App.config).

Эффективное использование соединений

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

Это также касается и написания кода, обращающегося к базе данных, потому что сохранение подключений открытыми дольше, чем нужно, может повлиять на другие сеансы.

В крайних случаях незакрытое соединение может полностью блокировать доступ других пользователей к целым множествам таблиц, нанося огромный ущерб производительности приложения. Закрытие соединений базы данных должно считаться обязательным, поэтому в настоящем разделе мы продемонстрируем структуру кода, которая минимизирует риск оставления ресурсов в открытом состоянии.

Вариант обеспечения очистки ресурсов состоит в применении блоков try. catch. finally, и он гарантирует закрытие любых открытых соединений внутри блока finally. Рассмотрим краткий пример:

Ссылка на основную публикацию
Adblock
detector