2014-10-01 5 views
1

У меня есть проект библиотеки, который имеет локальный файл MDF (LocalDB) и использует следующую ConnectionString:Подключения к LocalDB из Visual Build Server Studio Online

Data Source=(LocalDb)\v11.0;Initial Catalog=MyDB;Integrated Security=True 

коду нужна для доступа к БД во время компиляции (F # Type Provider). Он отлично работает локально, но он терпит неудачу при компиляции на Visual Build Server Studio Online (TFS) со следующей ошибкой:

Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=26085; handshake=248;

Я проверил, и это выглядит как LocalDB устанавливается на серверы сборки: http://listofsoftwareontfshostedbuildserver.azurewebsites.net/

Любые идеи? Мне нужны специальные разрешения для доступа к LocalDB?

Спасибо!

+0

не используется в сети, но вы можете подключиться к БД? вы используете SQL2012 или sql 2014. Вы публикуете свой db как часть сборки? –

+0

Я могу подключиться к БД в моей машине. Я использую /v11.0, который является SQl2012, и файлы mdf и ldf помечены как «контент» и «копировать всегда», –

ответ

1

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

Я хотел, чтобы динамическая база данных LocalDb создавала каждую сборку для доступа к ней из моего модульного тестового набора. Я решил использовать пакет RimDev.AutomationSql, чтобы мои модульные тесты программным образом создавали экземпляр LocalDb, а не проверяли файл .mdf. (См. http://www.nuget.org/packages/RimDev.Automation.Sql/)

В соответствии с RimDev.Automation.Sql github readme, https://github.com/ritterim/automation-sql, хотя LocalDb установлен, он не может быть инициализирован.

You may have LocalDB installed, but never initialized the instance on your machine. Run this command via command prompt.

LocalDB SQL Express 2014

"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" create "v12.0" 12.0 -s

LocalDB SQL Express 2012

"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SqlLocalDB.exe" create "v11.0" 11.0 -s

Смежные вопросы