171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
1

Подключиться к файлу БД не через сервер

08.12.2013, 23:29. Показов 2856. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. В данный момент осуществляю подключение к БД Sql сервер следующим образом:

C#
1
2
3
4
            string connStr = @"Data Source=amd\sqlamd;
                            Initial Catalog=AutoLot;
                            Integrated Security=True";
            SqlConnection conn = new SqlConnection(connStr)
но есть необходимость перетаскивать приложение с одного компа на другой (по сути портативное приложение не требующее установки), и хотелось бы что бы файл БД (тот который mdf) хранился непосредственно рядом с exeшником. Но увы не могу разобраться как прописать такое подключение. Пробовал уже по разному, например так

C#
1
2
3
4
            string connStr = @"Data Source=\;
                            Initial Catalog=AutoLot.mdf;
                            Integrated Security=True";
            SqlConnection conn = new SqlConnection(connStr)
ничего хорошего из этого не выходит. Как прописать правильно? Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2013, 23:29
Ответы с готовыми решениями:

Как подключиться уже созданному файлу Sqlite через js?
Как подключиться уже созданному файлу Sqlite через js? Есть примеры?

Как подключиться в DBF файлу?
простите, но сделать надо на "скорую руку" и быстро сдать, нет времени разбираться меня интересуют...

Подключиться к файлу базы данных
Здравствуйте. Вкраце опишу суть задачи. Размер базы в бесплатной версии sql server express...

Как подключиться к текстовому файлу?
мне надо чтобы программа доставала от туда записи и сама записывала

7
438 / 362 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
08.12.2013, 23:35 2
C#
1
2
var combine = Path.Combine(Path.GetDirectoryName(typeof(Program).Assembly.Location), "AutoLot.mdf");
string connStr = string.Format(@"Data Source=\;Initial Catalog={0};Integrated Security=True", combine);
1
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
08.12.2013, 23:56  [ТС] 3
Grishaco, попробовал ваш вариант. Вначале высветилось что для Path
нет определения для Combine. Добавил:

C#
1
using System.IO;
Начало ругаться на неоднозначную ссылку (конфликт с using System.Windows.Shapes.
Исправил ваше на


C#
1
var combine = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(typeof(Program).Assembly.Location), "AutoLot.mdf");
но теперь не могу разобраться что писать вместо

C#
1
typeof(Program)
пробовал "MyFirstWpf" (используемое пространство имен), но мне выходит ошибка
Ошибка "MyFirstWpf" является "пространство имен", но используется как "тип"
Пробовал прописать путь по аналогии без combine

C#
1
            string connStr = string.Format(@"Data Source=\;Initial Catalog=D:\Desktop\HotelApp\MyFirstWpf\bin\Debug\AutoLot.mdf;Integrated Security=True");
но мне вылетает исключение XamlParseException
0
438 / 362 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
09.12.2013, 00:02 4
Цитата Сообщение от 5665tm Посмотреть сообщение
но теперь не могу разобраться что писать вместо
Пропишите любой класс из вашей *. exe сборки.

Цитата Сообщение от 5665tm Посмотреть сообщение
но мне вылетает исключение XamlParseException
Что то мне подсказывает, что проблема здесь не в строке подключения.
0
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
12.12.2013, 06:00  [ТС] 5
C#
1
2
string combine = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(typeof(MainWindow).Assembly.Location), "AutoLot.mdf");
string connStr = String.Format(@"Data Source=(LocalDB)\v11.0;AttachDbFilename={0};Integrated Security=True", combine);
Так то!
0
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
12.12.2013, 06:09  [ТС] 6
Grishaco, спасибо за подсказку как получить путь приложения) а строку подключения я получил следующим образом:

1. Добавил в ресурсы БД
2. Щелкнул по ней дважды в обозревателе решений, попал в обозреватель серверов
3. Оттуда при помощи правой педали мыши идем в свойства и видим вот такое (картинка в приложении), изменяем путь до файла на ваше combine, профит! Проверил на другом компе, все работает как часы.
Миниатюры
Подключиться к файлу БД не через сервер  
0
29 / 29 / 10
Регистрация: 06.02.2014
Сообщений: 156
07.04.2014, 17:45 7
Дабы не создавать новую тему спрошу тут.
Какие файлы нужны для того чтоб можно было работать с базой данных mdf без SQL сервера т.е. на любом пк?
Уже много инфы перерыл и все как то не получается. Нашел что нужно добавить в проект файлы SQLite.NET.dll, SQLite3.dll я их подключил, далее код
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.Linq;
using System.Text;
using System.Data;
using Finisar.SQLite;
 
namespace Test
{
    class SqlDataBase
    {
        private SQLiteConnection sql_con;
        private SQLiteCommand sql_cmd;
        private SQLiteDataAdapter db;
        private DataSet ds = new DataSet();
        private DataTable dt = new DataTable();
 
        private void SetConnection()
        {
            sql_con = new SQLiteConnection("Data Source=Data\\DataBase.mdf;Version=3;New=False;Compress=True;");
        }
 
        internal void Load()
        {
            SetConnection();
            sql_con.Open(); //Вот тут исключение
            sql_cmd = sql_con.CreateCommand();
            string CommandText = "select id, desc from mains";
            db = new SQLiteDataAdapter(CommandText, sql_con);
            ds.Reset();
            db.Fill(ds);
            dt = ds.Tables[0];
            sql_con.Close();
        }
    }
}
И на sql_con.Open(); вылетает исключение "Была сделана попытка загрузить программу, имеющую неверный формат. (Исключение из HRESULT: 0x8007000B)"
0
Learx
08.04.2014, 13:36     Подключиться к файлу БД не через сервер
  #8

Не по теме:

упс, не в ту тему написал

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2014, 13:36

Simplexml_oad_file. не могу подключиться к xml файлу
есть xml файл <? xml version="10" encoding="UTF-8"?> <route URL = "tovar" > ...

Как в ADO подключиться к файлу EXCEL?
Нужно взять данные из EXEL и положить в базу. Не получается в ADO подключиться к файлу EXEL....

Не удается подключиться к файлу БД sql server
Добрый день, прошу помощи. Работаю в VS 2015, бд создавалась в sql server 2014, при выборе...

Невозможно подключиться к сервер
У меня такая беда: Поставил себе MySql + Apache + PHP +phpMyAdmin Так вот, при перезагрузке...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru