2014-10-01 57 views
1

我有了一個本地的MDF文件(的LocalDB),並使用下面的ConnectionString庫項目連接到的LocalDB:從Visual Studio建立在線服務器

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

代碼需要訪問數據庫中的編譯時間( F#類型提供程序)。它工作在當地罰款,但是當它與下面的錯誤編譯在Visual Studio建立在線服務器(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.你是否發佈你的數據庫作爲構建的一部分? – 2014-10-01 07:48:19

+0

我可以連接到我的機器上的數據庫。我正在使用SQl2012的/v11.0,並且mdf和ldf文件都被標記爲「content」和「always always」 – 2014-10-02 08:21:57

回答

1

我有一個類似的問題,我通過在生成後事件中初始化LocalDb來解決它。如果構建本身正在訪問數據庫,則可能需要將其放入預構建事件中。

我想創建一個動態的LocalDb數據庫創建每個版本,以便從我的單元測試套件訪問它。我決定使用RimDev.AutomationSql包來允許我的單元測試以編程方式創建LocalDb實例,而不是檢查.mdf文件。 (請參閱http://www.nuget.org/packages/RimDev.Automation.Sql/

根據RimDev.Automation.Sql github自述文件,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

相關問題