Member 13116441 Ответов: 4

Sql server - как заставить мое приложение работать на другом компьютере


<pre lang="c#">        static string domain = (AppDomain.CurrentDomain.BaseDirectory).ToString();
        internal static string connect = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename= "+domain+"BMS_PRO_DB.mdf;" + "Integrated Security=True;Connect Timeout=30;";


база данных находится внутри местоположения приложения,
я думаю, что мое соединение неправильно, поэтому приложение отлично работает на моем сервере, но на другом ПК(SQL Server установлен и на этом ПК) оно не работает.

Что я уже пробовал:

please help, im getting the error : sql not found or not accessible ...

4 Ответов

Рейтинг:
2

Dave Kreskowiak

Одно слово: отладчик. Научитесь им пользоваться, и станет ясно, что вы сделали не так.

Вы делаете некоторые глупые вещи и не учитываете пробелы в пути, который вы создали.

Например, почему вы звоните .ToString() для строки, возвращаемой BaseDirectory? Это просто ....

Строка подключения должна храниться в конфигурационном файле, а не в виде жестко заданного значения в вашем коде. Что делать, если пользователь не знает, что использовать LocalDB, а вместо этого имеет либо SQL Server Express, либо полный SQL Server где-то? Они не могут использовать ваш код, потому что он слишком негибкий.

Кроме того, код (надеюсь!) буду убегать откуда-то снизу C:\Program файлы. Программные файлы и все, что под ними, доступно только для чтения. Это не то место, куда вы хотите поместить свою базу данных. Я предлагаю поместить его в более подходящее место, например в папку под ProgramData, где обычные пользователи имеют права на запись.


Рейтинг:
1

ZurdoDev

Да, ваша связь ошибочна. Когда код запускается на другом компьютере, он будет пытаться получить доступ к sql server at (LocalDB), поэтому, если на локальном компьютере нет sql, он не будет работать. Измените его на имя компьютера sqlserver или ip-адрес, чтобы он мог подключиться.


Рейтинг:
0

Member 13116441

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


Patrice T

Не используйте решение для обсуждения с кем-то еще.
Используйте вместо этого кнопку " есть вопрос или комментарий?", преимущество, ОП замечен.

Рейтинг:
0

Patrice T

Цитата:
нужно ли мне получить код машины, на которой работает приложение, я этого не понимаю.

Похоже, вам нужно изучить основы SQL.

Вам необходимо установить SQL - движок и базу данных на сервере в вашей сети.
Затем измените свое приложение, чтобы оно ссылалось на базу данных.
Интернет загружен примерами и учебниками, вам просто нужно сделать небольшой поиск.