oSQL yardımcı programı

The osql utility allows you to enter Transact-SQL statements, system procedures, and script files.Bu yardımcı program odbc sunucuyla iletişim kurmak için kullanır.

Önemli notÖnemli

Gelecekte de bu özellik kaldırılacak sürüm , SQL Server.Bu özellik yeni geliştirme çalışması kullanmaktan kaçının ve şu anda özelliğini kullanan uygulamaları değiştirmek plan.Use sqlcmd onun yerine.Daha fazla bilgi için bkz: SQLcmd Yardımcı Programı.

Sözdizimi

osql
[-?] |
[-L] |
[
  {
     {-Ulogin_id [-Ppassword]} | –E }
     [-Sserver_name[\instance_name]] [-Hwksta_name] [-ddb_name]
     [-ltime_out] [-ttime_out] [-hheaders]
     [-scol_separator] [-wcolumn_width] [-apacket_size]
     [-e] [-I] [-D data_source_name]
     [-ccmd_end] [-q "query"] [-Q"query"]
     [-n] [-merror_level] [-r {0 | 1}]
     [-iinput_file] [-ooutput_file] [-p]
     [-b] [-u] [-R] [-O]
]

Bağımsız değişkenler

  • -?
    Sözdizimi özetini görüntüler osql geçiş yapar.

  • -L
    Yerel olarak yapılandırılmış sunucular ve ağda yayınlamak sunucuların adlarını listeler.

    Not

    Yayın ağlarında, doğası yüzünden osql tüm sunuculardan zamanında yanıt alabilirsiniz.Bu nedenle bu seçenek yönteminin çağrılması için döndürülen sunucularının listesini değişebilir.

  • -Ulogin_id
    Kullanıcı oturum açma kimliği.Oturum açma kimlikleri durum duyarlıdır.

  • -Ppassword
    Kullanıcı tanımlı bir parola değil.If the -P option is not used, osql prompts for a password.If the -P option is used at the end of the command prompt without any password, osql uses the default password (NULL).

    Güvenlik notuGüvenlik Notu

    Boş parola kullanmayın.Güçlü bir parola kullanın.Daha fazla bilgi için bkz: Güçlü parolalar.

    Parolalar durum duyarlıdır.

    osqlpassword ortam değişkeni sağlar küme geçerli oturum için varsayılan parola.Bu nedenle, sabit bir parola toplu iş dosyalarına kod gerekmez.

    Bir parola belirtmezseniz, -p seçeneği, osql için osqlpassword değişkeni denetler.Hiçbir değer ise küme, osql null varsayılan parola kullanır.Aşağıdaki örnek komut istemi isteminde osqlpassword değişkenini ayarlar ve sonra erişir osql yardımcı programı:

    C:\>SET OSQLPASSWORD=abracadabra
    C:\>osql 
    
    Güvenlik notuGüvenlik Notu

    Parolanızı maskelemek için belirtmek -p seçeneği ile birlikte - u seçeneği.Belirterek bunun yerine, sonra osql ile birlikte - u seçeneği ve diğer anahtarlar (belirtmek -p), enter tuşuna basın ve osql için parola ister.Bu yöntem, parolanızı girdiğinizde maskelenir sağlar.

  • -E
    Kullanan bir güvenilir bağlantı , bir parola isteme.

  • -Sserver_name[ **\instance_name]
    Belirtir örnek , SQL Server bağlanmak için.Belirtmek server_name bağlanmak için varsayılan örnek , SQL Server o sunucu.Belirtmek server_name
    \**instance_name bağlanmak için bir adlandırılmış örnek , SQL Server , sunucu.Hiçbir sunucu belirtilmemişse, osql bağlandığı varsayılan örnek , SQL Server yerel bilgisayar.Bu seçenek çalıştırırken gereken, osql ağdaki uzak bir bilgisayardan.

  • -Hwksta_name
    Bir iş istasyonu adıdır.iş istasyonu adı depolanan sysprocesses.hostname tarafından görüntülenen ve sp_who.Bu seçenek belirtilmezse, geçerli bilgisayar adı varsayılır.

  • -ddb_name
    Issues a USE db_name statement when osqlis started.

  • -ltime_out
    Önce kaç saniye bekleneceğini belirtir bir osql oturumu zaman aşımına uğrar.Oturum açma için varsayılan saat aşımı değeri osql sekiz saniyedir.

  • -ttime_out
    Önce kaç saniye bekleneceğini komut zaman aşımına belirtir.Yoksa bir time_out değer belirtilmezse, komutları yapmak saat aşımına uğrar.

  • -hheaders
    Sütun başlıkları arasında yazdırmak için satır sayısını belirtir.Başlıkları tek yazdırmak için varsayılan değer olan saat için her sorgu sonuçlarları kümesi.Hiçbir üstbilgi yazdırılacağını belirtmek için -1 kullanın.–1 Kullanılırsa, parametre ayar arasındaki boşluk olmalıdır (-h-1değil, -h -1).

  • -scol_separator
    Varsayılan olarak boş bir alanı sütun ayırıcı karakteri belirtir.To use characters that have special meaning to the operating system (for example, | ; & < >), enclose the character in double quotation marks (").

  • -wcolumn_width
    Kullanıcıya izin verir küme ekran genişliği çıktı.Varsayılan değer 80 karakter olabilir.Çıkış satır maksimum ekran genişliğini sınırına ulaştığında, çoklu satırlara kırıldı.

  • -apacket_size
    Farklı boyutta bir paket istek yapabilirsiniz.İçin geçerli değerler packet_size 512-65535 olan.Varsayılan değer osql server varsayılan değerdir.Increased packet size can enhance performance on larger script execution where the amount of SQL statements between GO commands is substantial.Microsoft testing indicates that 8192 is typically the fastest setting for bulk copy operations.Daha büyük bir paket boyutu istenebilir, ancak osql server varsayılan istek verilirse Varsayılanları.

  • -e
    Yankı giriş.

  • -I
    QUOTED_IDENTIFIER bağlantı seçeneği ayarlar.

  • -Ddata_source_name
    Bir odbc verisine bağlanan kaynak için odbc sürücüsü kullanılarak tanımlanır SQL Server.The osql connection uses the options specified in the data source.

    Not

    Bu seçenek, diğer sürücüler için tanımlanmış veri kaynakları ile çalışmaz.

  • -ccmd_end
    Komut Sonlandırıcı belirtir.Varsayılan olarak, komut sonlandırıldı ve gönderilen SQL Server Git kendine bir satıra girerek.Komut Sonlandırıcı sıfırladığınızda kullanmak Transact-SQL ayrılmış sözcük ve karakterleri, yüklü işletim sistemine özel anlamı olup olmadığını önünde bir ters eğik çizgi veya değil.

  • -q "query"
    Bir sorgu yürütür, osql başlar, ancak çıkmak osql ne zaman sorgu tamamlar.(Not) sorgu deyim go içermelidir.Bir toplu iş dosyası bir sorgudan vermek, % değişkenleri veya ortam değişkenleri % kullanın.Örneğin:

    SET table=sys.objects
    osql -E -q "select name, object_id from %table%"
    

    Sorguda kullanmak çift tırnak içine sorgu ve her şeyi etrafına tek tırnak imi gömülü.

  • -Q"query"
    Bir sorguyu çalıştırır ve çıkar hemen osql.Sorguda kullanmak çift tırnak içine sorgu ve her şeyi etrafına tek tırnak imi gömülü.

  • -n
    Numaralandırma kaldırır ve komut istemi simgesi (>) giriş satırları.

  • -merror_level
    Hata iletilerinin görünümünü özelleştirir.ileti numarası, durumu ve hata düzey veya daha yüksek düzeydeki belirtilen önem hatalar için görüntülenir.Hatalar, belirtilen düzeyinden daha düşük düzey için hiçbir şey görüntülenmez.Use -1 tüm üstbilgileri olan iletiler döndürülür belirtmek için hatta bilgilendirme iletileri.Kullanarak, -1, parametre ayar arasındaki boşluk olmalıdır (-m-1değil, -m -1).

  • -r { 0| 1}
    İleti çıktı ekrana yönlendirir (stderr).Bir parametre belirtirseniz veya belirttiğiniz 0, yalnızca hata iletileriyle 11 veya daha yüksek bir önem düzey yönlendirildi.Belirtirseniz, 1, tüm ileti çıktı ("yazdır" dahil) yönlendirildiği.

  • -iinput_file
    Dosyayı içeren sql deyimlerinin bir toplu iş veya saklı yordamları tanımlar.Küçüktür (<) karşılaştırma işleç yerine kullanılabilecek -i.

  • -ooutput_file
    Çıktısını alır dosyayı tanımlar osql.Büyüktür (>) karşılaştırma işleç yerine kullanılabilecek -o.

    If input_file is not Unicode and -u is not specified, output_file is stored in OEM format.If input_file is Unicode or -u is specified, output_file is stored in Unicode format.

  • -p
    Performans istatistiklerini yazdırır.

  • -b
    Belirleyen bir osql çıkar ve bir hata oluştuğunda bir dos errorlevel değerini döndürür.dos errorlevel değişkeni döndürülen değer 1 olduğunda ise SQL Server hata iletisi vardır bir önem 11 veya daha büyük; Aksi takdirde, döndürülen değer 0'dır.Microsoftms-dos toplu iş dosyaları, dos errorlevel değerini test ve hata düzgün işleyecek.

  • -u
    Belirleyen bir output_file biçimi ne olursa olsun, Unicode biçiminde depolanan input_file.

  • -R
    Belirleyen bir SQL Server odbc sürücüsü kullanan istemci ayarları, dönüştürme para birimi, tarih ve saat verilerini karakter veri.

  • -O
    Belirtir belli bazı osql özellikler önceki sürümlerindeki davranışı eşleştirmek için devre dışı ISQL.Bu özellikleri devre dışı bırakılır:

    • EOFtoplu iş iş işlem

    • Otomatik konsol Genişlik ölçekleme

    • Geniş iletileri

    Ayrıca dos errorlevel değerini varsayılan değer -1 olarak ayarlar.

Not

The -n, -O and -D options are no longer supported by osql.

Açıklamalar

The osql utility is started directly from the operating system with the case-sensitive options listed here.After osqlstarts, it accepts SQL statements and sends them to SQL Server interactively.sonuçlar biçimlendirilmiş ve ekranda görüntülenen (stdout).ÇIK kullanın veya karşı çıkmak için EXIT osql.

Başlattığınızda, bir kullanıcı adı belirtmezseniz osql, SQL Server ortam değişkenleri için denetler ve kullanır olanlar, örneğin, osqluser = (user) veya osqlserver = (server).Hiçbir ortam değişkenleri, küme, iş istasyonu kullanıcı adı kullanılır.Bir sunucu adı belirtin, iş istasyonu kullanılır.

İkisi de, - u veya -p seçenekleri kullanılır, SQL Server kullanarak bağlanmak için girişimleri Microsoft Windows kimlik doğrulaması modu.Kimlik doğrulama esas Microsoft Windows çalıştıran kullanıcı hesabı osql.

The osql utility uses the ODBC API.Yardımcı programını kullanan SQL Server için odbc sürücüsü varsayılan ayarları SQL Server ISO bağlantı seçenekleri.Daha fazla bilgi için bkz: ANSI seçenekleri etkiler.

Not

The osql utility does not support CLR user-defined data types.Bu veri türlerini işlemesi için kullanmanız gerekir sqlcmd yardımcı programı.Daha fazla bilgi için bkz: SQLcmd Yardımcı Programı.

osql komutlar

Ek olarak Transact-SQL deyimleri içinde osql, bu komutlar da kullanılabilir.

Komutu

Açıklama

GİT

Son Git sonra girilen tüm deyimleri yürütür.

SIFIRLAMA

Girdiğiniz herhangi deyimleri temizler.

QUIT veya çıkış)

Karşı çıkar osql.

CTRL+C

Bir sorgu karşı çıkmadan sona osql.

Not

The !!and ED commands are no longer supported by osql.

(Varsayılan olarak) komutu sonlandırıcılar go Sıfırla ÇIK ÇIK ve ctrl + c tanınıyor yalnızca bir satır başında görünürse hemen osql istemi.

go sinyalleri her iki sonunda toplu iş iş ve önbelleğe alınmış herhangi bir yürütme Transact-SQL deyimleri.Giriş hattı, sonunda her ENTER'a bastığınızda osql ilgili satırdaki ifadeleri önbelleğe alır.go yazdıktan sonra enter tuşuna bastığınızda tüm şu anda önbelleğe alınan ifadeler için toplu iş iş olarak gönderilen SQL Server.

Geçerli osql programı çalışır herhangi bir komut dosyası, sonunda örtülü bir go gibi yürütmekd, bu nedenle tüm deyimleri Komut dosyasında yürütmek.

Bir komut, bir komut Sonlandırıcı ile başlayan bir satır yazarak bitirin.Komutun çalışması gereken bir kaç kez belirtmek için bir tamsayı komut Sonlandırıcı izleyebilirsiniz.Örneğin, 100 kez bu komutunu yürütmek için şunları yazın:

SELECT x = 1
GO 100

The results are printed once at the end of execution.osql does not accept more than 1,000 characters per line.Büyük deyimleri birden çok satırda yaymak.

Windows komutu geri çekme olanakları geri çekmek ve değiştirmek için kullanılan osql deyimleri.Varolan sorgu arabellek SIFIRLAMA yazarak temizlenmiş olması.

Saklı yordam çalıştırıldığında, osql her toplu iş iş sonuçlar küme arasına boş bir satır yazdırılır.Ayrıca, "0 etkilendi". yürütülen deyim geçerli değilse, ileti görüntülenmez.

Osql etkileşimli kullanma

Kullanmak için osql etkileşimli olarak yazın osql komutu (ve seçenekleri) komut istemi isteminde.

(Stores.qry) tarafından yürütülmesine ilişkin sorgu içeren bir dosyada okuma osql buna benzer bir komut yazarak:

osql -E -i stores.qry

Bir sorgu (Titles.qry) içeren bir dosyada okuma ve sonuçlar başka bir dosya için şuna benzer bir komut yazarak doğrudan:

osql -E -i titles.qry -o titles.res
Güvenlik notuGüvenlik Notu

When possible, use the -Eoption (trusted connection).

When using osql interactively, you can read an operating-system file into the command buffer with :rfile_name.Bu sql komut dosyası gönderir file_name doğrudan sunucuya olarak tek bir toplu iş.

Not

Kullanırken osql, SQL Server işler toplu iş ayırıcı Git, yoksa görünür, bir sql komut dosyası olarak bir sözdizimi hatası.

Açıklamaları ekleme

Gönderilen bir Transact-SQL deyim ndaki açıklamalar ekleyebilirsiniz SQL Server tarafından osql.Yorum stiller iki tür izin verilir: -- and /*...*/.

Daha fazla bilgi için bkz: Yorumlar'ı kullanma.

Çıkış sonuçları döndürmek için osql içinde kullanma

Bir seçim sonucu kullandığınız deyim gelen bir dönüş değeri olarak osql.Sayısal, ise son sütun 'ın son sonuç satırı bir 4 baytlık tamsayı (uzun) dönüştürülür.ms-dos alt bayt üst işlemin veya işletim sistemi hata düzey geçirir.Windows, tüm 4 baytlık tamsayı geçirir.Sözdizimi aşağıdaki gibidir:

EXIT ( < query > )

Örneğin:

EXIT(SELECT @@ROWCOUNT)

Bir toplu iş dosyasının bir parçası olarak çıkış parametresi de ekleyebilirsiniz.Örneğin:

osql -E -Q "EXIT(SELECT COUNT(*) FROM '%1')"

The osql utility passes everything between the parentheses ( ) to the server exactly as entered.Sistem saklı yordam küme seçer ve bir değer döndürür, yalnızca seçim döndürülür.The EXIT**(** ) statement with nothing between the parentheses executes everything preceding it in the batch and then exits with no return value.

Dört Çıkış biçimleri vardır:

  • ÇIKIŞ

Not

Toplu iş yürütmek; hemen çıkıyor ve hiç bir değer döndürür.

  • EXIT**(** )

Not

toplu iş iş yürütür ve çıkar ve yok değerini verir.

  • EXIT**(query)**

Not

Sorgu dahil olmak üzere toplu iş iş iş yürütür ve dönüşten sonra sonra çıkıyor sonuçlar sorgu.

  • RAISERROR ile 127 durumunu

Not

RAISERROR içinde kullanılırsa, bir osql komut dosyası ve 127 durumunu oluşturuldu, osql çıkın ve ileti kimliği başa dön dönmek istemci.Örneğin:

RAISERROR(50001, 10, 127)

Bu hataya neden olur osql komut dosyası için son ve ileti kimliği 50001 döndürdüğü için istemci.

Dönüş değerleri -1-99 tarafından ayrılmış olan SQL Server; Osql bu değerleri tanımlar:

  • -100

    Dönüş değeri seçmeden önce hatayla karşılaşıldı.

  • -101

    Dönüş değeri seçerken satır bulunmadı.

  • -102

    Dönüş değeri seçerken dönüştürme hatası oluştu.

Para ve smallmoney veri türleri görüntüleme

Osql görüntüler money ve smallmoney rağmen iki ondalık basamakla veri türleri SQL Server depolar değerle dahili olarak dört ondalık basamak.Örneði ele alalým:

SELECT CAST(CAST(10.3496 AS money) AS decimal(6, 4))
GO

Bu deyim, bir sonuç üretir 10.3496, değer tüm ondalık basamakla olduğu gibi depolanır gösterir.