Введенное соединение DataSet - требуемый иметь один в .xsd файле?

Так что для меня у меня было две неверно настроенные вещи, которые препятствовали успешному развертыванию

  1. Развертывание застряло «в процессе», потому что для прикрепленных разрешений в политике и роли требовались разрешения на лямбда развернуть. Как только я это сделал, развертывание перешло от «в процессе» к «неудачному развертыванию», что привело меня ко второй ошибке.

  2. Экземпляр EC2, на котором размещалось основное программное обеспечение, почему-то неправильно выполнял сценарий оболочки установки (вероятно, не запускал его как sudo), и мои cgroups не были полностью настроены на память (не уверен, что это значит но вам это нужно настроить)

Спасибо Стиву B за помощь!

6
задан Ryan Lundy 17 November 2008 в 18:41
поделиться

5 ответов

Это прослушивало меня в течение долгого времени также, и я недавно сделал некоторое тестирование. Вот то, что я придумал. Для записи я использую VS 2008 SP1.

  • Наборы данных будут хранить информацию строки подключения, хотите ли Вы их к или нет.
  • Можно удостовериться, что наборы данных не сохранят пароли в своих строках подключения.
  • Можно было или сохранить строку подключения в разделе 'соединений' .xsd файл, или можно было сохранить его в app.config файле и ссылаемый от раздела 'соединений' .xsd файла. Так или иначе раздел 'соединений', кажется, требование.

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

2
ответ дан 17 December 2019 в 18:20
поделиться

В аналогичном случае я сохранил строку подключения для набор данных в файле настроек / app.config (поведение по умолчанию в Visual Studio при создании набора данных) со встроенной безопасностью для локальной базы данных разработки. Чтобы иметь доступ к нему из внешних проектов, я изменил файл настроек на общедоступный вместо стандартного внутреннего (в визуальном дизайнере). В результате получился такой код (в Properties \ Settings.Designer.cs):

public sealed partial class Settings
{
    [...]
    [global::System.Configuration.DefaultSettingValueAttribute
            ("Data Source=.;Initial Catalog=MyDb;Integrated Security=True;")]
    public string MyConnectionString
    {
        get
        {
            return ((string)(this["MyConnectionString"]));
        }
    }
}

Затем я вручную изменил свойство, включив в него публичный сеттер:

public string MyConnectionString
{
    get
    {
        return ((string)(this["MyConnectionString"]));
    }
    set
    {
        this["MyConnectionString"] = value;
    }
}

Наконец, я установил строку подключения из внешнего проекта, например:

MyDataAccessLibrary.Properties.Settings.Default.MyConnectionString = ...
1
ответ дан 17 December 2019 в 18:20
поделиться

Лучший способ сделать это - создать соединение во время выполнения с предпочитаемой строкой подключения и назначить ему TableAdapter.Connection , В прошлом у меня это срабатывало.

Во-вторых, если вы удалите из xsd, он наверняка вызовет ошибку, поскольку он не только используется во время выполнения, но также используется дизайнером набора данных Visual Studio во время разработки для получения схемы базы данных базовой базы данных, чтобы вы могли спроектировать Типизированный набор данных в конструкторе. Так что лучше быть там разработчику наборов данных! :)

0
ответ дан 17 December 2019 в 18:20
поделиться

Использование TableAdapterManager может вам помочь. Пожалуйста, прочтите больше на: http://rajmsdn.wordpress.com/2009/12/09/strongly-typed-dataset-connection-string/

0
ответ дан 17 December 2019 в 18:20
поделиться

Чтобы ответить на ваш вопрос,

Вам не нужно указывать имя базы данных в строке подключения, чтобы IDE набора данных работала. Вам нужно ТОЛЬКО указать работающий СЕРВЕР.

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

<add name="MyConnectionString" connectionString="data source=.;Integrated Security=SSPI" providerName="System.Data.SqlClient" />

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

0
ответ дан 17 December 2019 в 18:20
поделиться