Access、Oracle、または SQL Server などの基礎となるデータベースへの ODBC 接続を使用する「レガシー」アプリケーションがあります。ユニット (または、より正確には「統合」) テストの目的で、SQL Server 2012 LocalDB インスタンスを接続したいと考えています。ただし、使用する正しい ODBC 接続文字列がわかりません。
私が試してみました:
[TestMethod]
public void OdbcConnectionToLocalDb()
{
string connectionString = "DRIVER=SQL Server Native Client 11.0;Trusted_Connection=Yes;SERVER=(localdb)\v11.0;Description=LocalDB;";
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
using (var command = new OdbcCommand("select * from Person", connection))
{
connection.Open();
// ...
}
}
}
ただし、接続が開かれると、次の例外がスローされます。
System.Data.Odbc.OdbcException: ERROR [08001] [Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: Could not open a connection to SQL Server [67].
ERROR [HYT00] [Microsoft][SQL Server Native Client 11.0]Login timeout expired
ERROR [08001] [Microsoft][SQL Server Native Client 11.0]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.
ODBC 接続/ドライバーを介して SQL Server 2012 LocalDB に接続できますか? 特定のファイルに接続することはできますか?
[編集] Garrett はそれが可能であると指摘しています。接続文字列が間違っている必要があるので、私の質問は次のとおりです。接続文字列はどうあるべきですか?