PowerShell'de SQLCMD üzerinden LocalDB'ye bağlanın


11

SQLCMD yardımcı programı ile PowerShell aracılığıyla bilgisayarımdaki "localdb \ MSSQLLocalDB" sunucusuna erişmeye çalışıyorum. PowerShell v5, .NET v5.0 kullanıyorum ve sunucu adı (localdb)\MSSQLLocalDBMicrosoft SQL Server Management Studio 2014'te bağlandığımda.

PS C:\> sqlcmd -S localdb\MSSQLLocalDBve PS C:\> sqlcmd -S .\localdb\MSSQLLocalDBbu hatayla sonuçlanır:

Sqlcmd: Hata: SQL Server için Microsoft ODBC Sürücüsü 11: SQL Server Ağ Arabirimleri: Belirtilen Sunucu / Eşgörünümü Bulma Hatası [xFFFFFFFF].

Management Studio'da sunucu adını sorguladım ve yukarıdaki komuttan SELECT @@ServerNamesonra kullandım -Sve aynı hatayı aldım.

PS C:\> sqlcmd -S localdb bu hatayı veriyor:

Sqlcmd: Hata: SQL Server için Microsoft ODBC Sürücüsü 11: Adlandırılmış Kanallar Sağlayıcısı: SQL Server bağlantısı açılamadı [53]

Diğer notlar: Sunucuya bağlanabiliyorum ve bu bağlantı dizesi ile bir C # konsol uygulamasında testdb01 adlı bir veritabanıyla çalışabiliyorum System.Data.SqlClient:

"Data Source=(localdb)\\mssqllocaldb;Initial Catalog=testdb01;Integrated Security=SSPI;"

Yanıtlar:


9

Örnek adının büyük / küçük harf kullanımı önemli değildir.

Denemeniz gerekiyor:

sqlcmd -S "(localdb)\MSSQLLocalDB" -d testdb01

"Yereldb" bölümünün, parantez içine alınması gerekir; bu, bağlantı dizesinde başvuruda bulunulduğunda otomatik örnek başlatmaya izin veren SQL Server Express LocalDB'ye özgü bir API'ye işaret eden özel bir sözdizimidir. Tüm örnek adının çift tırnak içine alınması gerekir. Yukarıda gösterilen komut satırı benim için, en azından PowerShell dışında çalışıyor.


(localdb)Parantez içine alınması komutu bir komut olarak ayırır ve şu hatayı verir: 'localdb' terimi, bir cmdlet, işlev, komut dosyası veya çalıştırılabilir programın adı olarak tanınmaz.
jmk22

@ jmk22 Sonra çift tırnak içinde tüm sunucu adını koymayı deneyin: -S "(localdb)\MSSQLLocalDB". Bu işe yaramazsa, parantezden kaçmayı deneyebiliriz. Ama bir şekilde bu ebeveynlerin orada olması gerekiyor.
Solomon Rutzky

1
Alıntılar yaptı, teşekkürler! Cevabınızı bunu yansıtacak şekilde düzenledim.
jmk22
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.