2016-06-10 5 views
0

Я написал VB.Net приложение, которое использует файлSQL Express DB, содержащий одну таблицу и несколько хранимых процедур. Я успешно создал и экспортировал приложение в свой VPS. Проблема возникает, когда вы знаете, что делать с файлом базы данных, есть множество материалов в Интернете, но не для удовлетворения моих потребностей. Я планирую использовать LocalDB на VPS, но являюсь командной строкой. Трудно узнать, были ли успешные скрипты после создания экземпляра, начиная с него ... и т. Д.,Публикация приложений VB.NET с SQL Express БД (с использованием LocalDB)

Я хочу сохранить требования к установке до абсолютного минимума на моей машине VPS и (вовремя других компьютеров конечных пользователей) ... следовательно, используя LocalDB, а не SQL Express

Итак, что мне нужно сделать для VPS, чтобы мое приложение могло подключаться к базе данных ..? Это было просто, когда он был Access - (подал файл MDB и запустил AccessDatabaseEngine(redistributable) - задание)

Соединение на моем devt. машина работает, как ожидалось.

Строка соединения в моем коде:

Const strSQLConnection As String = "Data Source= (localdb)\v11.0;Database=SoccerTrader;Trusted_Connection=True" 

Может кто-нибудь помочь, пожалуйста .. это сводит меня за поворот .. конечно это не может быть так сложно? ..

===========================

Я нашел следующее в блоге MSDN, который говорит:

База данных как файл: строки подключения LocalDB поддерживают свойство AttachDbFileName, которое позволяет прикреплять файл базы данных в процессе соединения. Это позволяет разработчикам работать непосредственно с базами данных, а не с сервером базы данных. Предполагая, что файл базы данных (* .MDF-файл с соответствующим * .LDF-файлом) хранится в папке «C: \ MyData \ Database1.mdf», разработчик может начать работать с ним, просто используя следующую строку подключения: «Источник данных = (localdb) \ v11.0; Integrated Security = true; AttachDbFileName = C: \ MyData \ Database1.mdf ".

================ ДОБАВЛЕННЫЕ 12 ===================== июня

Хорошо, это действительно меня беспокоит сейчас ... Я читал об этом, пока он не выходит из моих ушей, и ничто конкретно не нацелено на то, что я пытаюсь сделать. Все блоги, которые я читаю, относятся к установке/запуску SQL Server и изменению разрешений и т. Д. Как я уже говорил, я использую VPS и предлагаю использовать LocalDB на VPS для доступа к простому/маленькому файлу базы данных для приложения VB.Net. пишу. Это история до сих пор. 1) Я создал рабочий прототип на моем компьютере разработки и подключился с помощью SQL Express к файлу базы данных SoccerTrader.mdf - не проблема. В визуальных свойствах проекта студии я добавил требование к проекту, который проверяет SQL Server ого если он отсутствует, устанавливает его ...

enter image description here

2) установить проект на VPS и, как ожидалось, SQL Server 2012 LocalDB установлен ... см. Здесь .. enter image description here

3) Я копировал файлы SoccerTrader.MDF и SoccerTrader.LDF в "C: \ BESTBETSoftware \ SoccerBot" на VPS

4) по практическим причинам проблемы, которые я имею получать это работа, я осуществил InputBox для меня, чтобы указать строку соединения при запуске приложения .... строки подключения я использовал дать следующее ...

enter image description here

1]: http://i.stack.imgur.com/i2tro.png

enter image description here

Я не изменил любые права доступа к файлам на ПК развития и состояние базы данных не только для чтения .... Итак, вопрос в том, куда мне отсюда идти? ... Что я пропустил ... почему это не работает ..?

+0

LocalDB работает на вашем компьютере-разработчике, поскольку он поставляется с Visual Studio. Установлен ли LocalDB на вашем VPS? – vintastic

+0

Вам все равно нужно установить либо LocalDB 32BIT \ SqlLocalDB.msi, либо LocalDB 64BIT \ SqlLocalDB.msi –

+0

Когда я создаю свой установочный набор приложений, одним из предварительных условий в проекте является SQL Server 2012 LocalDB, поэтому я устанавливаю набор установки на VPS - первое, что он делает, это проверить на это .. если он не существует .. он устанавливает это. – user6167266

ответ

1

я сумел разобраться с проблемой.

Похоже, строка подключения, которую я использовал, была ОК. Это была моя обработка ошибок, которая не была «чистой». Было выяснено, что соединение было выполнено на моем VPS, но когда приложение попыталось обновить таблицу, каталог, который я создал и ввел файл MDF, не разрешил бы доступ на запись.

Я переместил MDF в папку C: \ Users \ Public \ Documents и все работает так, как должно.

0

Вы должны указать полный путь к файлу Db с именем папки/IP-адрес

+0

Проверьте сообщение об ошибке выше, вы увидите, что я полностью квалифицировал путь к файлу в строке подключения ... , – user6167266