2

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 はそれが可能であると指摘しています。接続文字列が間違っている必要があるので、私の質問は次のとおりです。接続文字列はどうあるべきですか?

4

2 に答える 2

3

次のように接続文字列を指定する必要があります。

Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TestDB;Data Source=(localdb)\v11.0

私が思う主なことは、サーバーではなくデータソースとして参照することです。

于 2012-12-17T17:56:09.973 に答える
0

はい、可能です。最新のドライバーをインストールしてください: SQL Server Native Client "Denali" (ODBC および OLE DB 用)。

詳細については、こちらをご覧ください: http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

于 2012-12-13T00:47:17.087 に答える