2008-12-03 22 views
26

SQL Server için Oracle'ın SQL * Plus benzeri bir komut satırı yardımcı programını kullanmakla ilgileniyorum. SQL Server'ın birkaç seçeneği var gibi görünüyor: osql, isql ve sqlcmd. Bununla birlikte, hangisinin kullanılacağından emin değilim.Osql, isql ve sqlcmd arasındaki farklar nelerdir?

Bunların hepsi aynı şeyi yapar mı? Başkalarının üzerinde kullanılması tercih edilen durumlar var mı?

cevap

28

sqlcmd kullanın - bu en tam özellikli ürün.

  • sqlcmd: SQL Server için yeni, kıyafet komut satırı arayüzü.
  • isql: SQL Server ile komut satırı iletişimin daha eski, DB Kitaplığı (yerel SQL Server protokolü) yol.
  • osql: SQL Server ile komut satırı iletişimin daha eski, ODBC tabanlı bir yol.

DÜZENLEME: Ben birkaç yıl önce bu konuda cevap beri Zaman değişti. Günümüzde, PowerShell'de invoke-sqlcmd cmdlet'i de kullanabilirsiniz. PowerShell'e alışkınsanız veya herhangi bir karmaşıklığın herhangi bir komut dosyasını yapmayı planlıyorsanız, bunu kullanın.

8

Ben sorunuzun kapsamı ne olduğundan emin değilim, ama ben inanıyorum: SQL2000

Osql için ODBC kullandıktan sonra DB Kitaplığı kullanılan

isql sunucusuna iletmek üzere ve artık dahildir sunucuya iletişim kurmak ve artık SQL2005

sqlcmd sunucuya iletişim kurmak için kullanılan OLE DB kullandıktan sonra ve şu anda önerilen komut satırı aracıdır. Eğer SQL SERVER 2005 varsa

+1

'osql' hala bulunan Uzak Ayrılmış Yönetici Bağlantı:' C: \ Program Files \ Microsoft SQL Server \ 120 \ Tools \ Binn \ OSQL.EXE' – Mark

+0

Osql olduğunu hala SQL2016, C: \ Program Files (x86) \ Microsoft SQL Server \ 140 \ Tools \ Binn \ OSQL.EXE içinde bulunur – Rick

5

Onun her zaman daha iyi aksi yerine ISQL OSQL kullanın SQLCMD yerine OSQL veya ISQL kullanmak. O ISQL yolunda dışarı önce

Microsoft açıkladı. Tabii ki, SQL Server 2005 RTM'de ISQL bulunmuyor. OSQL, SQL Server 2005 ikili yüklemesine hala dahil olmasına rağmen, zaman aşımına uğradı. akılda tarihsel SQL Server yayın döngüsü ile, belki OSQL 2010.

SQLCMD bizi adieu teklif verecek aşağıdaki gibi pek çok avantajı vardır:

  • 1) Performans bilge
  • 2) SQLCMD parametreli değişkenlerini destekler
  • 3) SQLCMD destek Özelleştirilmiş düzenleyici
  • 4): XML [ONOFF]
  • 5): hata STDERRSTDOUT
  • 6): Perftrace STDERRSTDOUT
  • 7) (DAC)
İlgili konular