Aracılığıyla paylaş


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.

Important noteImportant Note:

Bu özellik, gelecekteki bir sürümüne kaldırılacaktır. SQL Server. Bu özellik, yeni iş geliştirme kullanmaktan kaçının ve bu özelliği kullanan uygulamalar değiştirmek planlama.Kullanımı Sqlcmd yerine.Daha fazla bilgi için bkz:SQLCMD yardımcı programı.

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, yapısı nedeniyle Osql tüm sunuculardan zamanında yanıt alamayabilir.Bu nedenle döndürülen sunucularının listesi için bu seçeneği her başlatılışında değişebilir.

  • -Ulogin_id
    Kullanıcı oturum açma KIMLIğI işOturum açma kimliği büyük/küçük durum duyarlıdır.

  • -Ppassword
    Bir kullanıcı tarafından belirtilen parola belirtilir.If the -P option is not used, osql prompts for a password.If the -P option is used at the end of the komut istemi without any password, osql uses the default password (NULL).

    Security noteSecurity Note:

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

    Parolalar büyük/küçük durum duyarlıdır.

    OSQLPASSWORD ortam değişkeni, geçerli oturum için varsayılan parola ayarlamanıza olanak verir.Bu nedenle, parola, toplu iş dosyalarına sabit kod gerekmez.

    Bir parola belirtmezseniz, -P option, Osql OSQLPASSWORD değişkeni için denetler.Hiçbir değer küme, Osql NULL varsayılan parola kullanır.Aşağıdaki örnek bir komut istemi isteminde OSQLPASSWORD değişkenine ayarlar ve sonra eriştiği Osql utility:

    C:\>SET OSQLPASSWORD=abracadabra
    C:\>osql 
    
    Security noteSecurity Note:

    Parolanız maskelemek değil belirtme -P birlikte, seçeneği-U seçeneği.Bunun yerine, belirttikten sonra Osql birlikte-U seçeneği ve (belirtmeyin diğer anahtarlar-P), ve ENTER tuşuna basın.Osql sizden parola ister.Girildiğinde, parolanızı maskelenmiş, bu yöntem sağlar.

  • -E
    Bir parola istemek yerine, güvenilir bağlantı kullanır.

  • -Sserver_name[ **\instance_name]
    Örneğini belirtir. SQL Server bağlanmak için . Belirtin server_name Varsayılan olarak bağlanmak için örnek, SQL Server Bu sunucuda. Belirtin server_name
    \**instance_name adlı bir bağlanma örnek SQL Server Bu sunucuda. Herhangi bir sunucu belirtilmezse, Osql varsayılan örneğine bağlar.SQL Server yerel bilgisayarda. Bu seçenek yürütürken gereklidir Osql ağ üzerindeki uzak bir bilgisayardan.

  • -Hwksta_name
    Bir iş istasyonu adı iş.Iş istasyonu adı depolanır sysprocesses.hostname ve tarafından görüntülenensp_who.Bu seçenek belirtilmezse, geçerli bilgisayar adı varsayılmıştır.

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

  • -ltime_out
    Önce saniye cinsinden belirtir bir Osql oturum zaman aşımına uğradı.Oturum açma için varsayılan saat aşımı Osql sekiz saniyedir.

  • -ttime_out
    Bir komut önce saniye cinsinden zaman aşımına uğradı belirtir.Varsa bir time_out değer belirtilmezse, komut saat aşımına yapın.

  • -hheaders
    Sütun başlıkları arasındaki yazdırmak için satır sayısını belirtir.Her seferinde başlıkları yazdırmak için varsayılandır küme sorgu sonuçlarnın.Üst bilgi yazdırılacağını belirtmek için -1 kullanın.–1 Kullanılırsa, bulunmalıdır parametre ayarı (arasındaki boşluk-h - 1, not -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
    Çıkış ekran genişliğini ayarlamak kullanıcının sağlar.Varsayılan değer 80 karakterdir.Bir çıktı satırı en büyük ekran genişliğini erişildiğinde, birden çok satıra ayrılır.

  • -apacket_size
    Farklı boyutta bir paket isteği olanak sağlar.Için geçerli değerler packet_size 512 ile 65535 ' dir. Varsayılan değer Osql sunucu varsayılandır.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 paket boyutu istenebilir, ancak Osql istek izin verilirse varsayılan olarak sunucu varsayılan olur.

  • -e
    Yankı giriş.


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

  • -Ddata_source_name
    ODBC sürücüsü kullanan tanımlı bir ODBC veri kaynağına bağlanır. SQL Server. The osql connection uses the options specified in the data kaynak.

    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 GO bir satırda kendi girerek. Komut Sonlandırıcı sıfırladığınızda, kullanma Transact-SQL ayrılmış sözcük veya karakter bir ters eğik çizgi veya önünde olup olmadığını işletim sistemine özel bir anlamı olan.

  • -q "query"
    Bir sorgu yürüten, Osql başlatılıyor, ancak çıkış. Osql sorgu tamamladığında.(Not) sorgu deyim GO içermelidir.Bir sorgudan bir toplu iş dosyası sorun varsa, ortam değişkenleri % veya % değişkenlerini kullanın.Örneğin:

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

    Sorguda, geçici sorgu çift tırnak işareti kullanın ve tek tırnak içine hiçbir şey katıştırılır.

  • -Q"query"
    Bir sorgu yürütür ve hemen çıkılıyor Osql.Sorguda, geçici sorgu çift tırnak işareti kullanın ve tek tırnak içine hiçbir şey katıştırılır.

  • -n
    Numaralandırma kaldırır ve komut istemini (simge>) giriş satırlarında.

  • -merror_level
    Hata iletilerinin görüntülenmesini özelleştirir.Ileti numarası, durum ve hata düzey hatalar için belirlenen önem düzey veya daha yüksek görüntülenir.Belirtilen düzeyini Düşük düzeylerinin hatalar için hiçbir şey görüntülenmez.Kullanımı -1 tüm başlıkları, iletileri döndürüldüğünü belirlemek için bilgi iletileri bile.Kullanıyorsanız -1, parametre ayarı ( arasındaki boşluk olmalıdır-m - 1, not -m -1).

  • -r { 0| 1}
    Iletinin çıktı ekranı (için yönlendirir.STDERR).Parametre belirtirseniz veya belirttiğiniz 011 veya yüksek önem düzey, yalnızca hata iletileri, yeniden yönlendirilmiş.Belirttiğiniz 1, tüm ileti çıktı (dahil "Yazdır") yönlendirilir.

  • -iinput_file
    SQL deyimlerini, toplu iş içerir veya saklı yordamları dosyayı tanımlar.Küçüktür)<) yerine karşılaştırma işleç kullanılabilir. -i.

  • -ooutput_file
    Çıktısı aldığı dosyayı belirtir. Osql.(Daha büyük**>**) yerine karşılaştırma işleç kullanılabilir. -o.

    If input_file Unicode olmayan ve -u belirtilen output_file OEM biçiminde depolanır. If input_file Unicode veya -u Belirtilen output_file Unicode biçiminde depolanır.

  • -p
    Performans istatistiklerini yazdırır.

  • -b
    Belirtir Osql çıkar ve bir hata oluştuğunda, DOS ERRORLEVEL değerini döndürür.DOS ERRORLEVEL değişkeni için döndürülen değer 1 olduğunda ise SQL Server hata iletisi 11 veya daha büyük bir önem; aksi durumda döndürülen değer 0'dır. Microsoft MS-DOS toplu iş dosyaları DOS ERRORLEVEL değerini sınamak ve hata uygun tanıtıcı.

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

  • -R
    Belirleyen SQL Server ODBC sürücüsü, karakter verisi için para birimi, tarih ve saat verileri dönüştürürken istemci ayarlarını kullanın.

  • -O
    Belirtir, belirli Osql özellikleri devre dışı bırakılmış önceki sürümlerindeki davranışı aynı olmalıdır.ISQL.Bu özellikleri devre dışı bırakılır:

    • EOF toplu işlem

    • Genişliği otomatik olarak konsol ölçekleme

    • Geniş iletileri

    Ayrıca varsayılan DOS ERRORLEVEL değerini -1 olarak ayarlar.

Not

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

Remarks

The osql utility is started directly from the operating system with the durum-sensitive options listed here.After osqlstarts, it accepts SQL statements and sends them to SQL Server interactively.sonuçlar biçimlendirilmiş ve ekran (üzerinde görüntülenir.STDOUT).QUIT kullanın veya gelen çıkmak için'EXıT Osql.

Başlattığınızda, bir kullanıcı adı belirtmezseniz Osql, SQL Server %s için ortam değişkenleri denetler ve, kullanır gibi osqluser = ()user) or osqlserver = ()server).Hiçbir ortam değişkenleri küme, iş istasyonu kullanıcı adı kullanılır.Bir sunucu belirtmezseniz, iş istasyonunun adı kullanılır.

Hiçbiri, -U or -P seçenekleri kullanılır, SQL Server kullanarak bağlanmaya çalışır. Microsoft Windows kimlik doğrulaması modu. kimlik doğrulaması dayandığı Microsoft Windows çalıştıran kullanıcı hesabı Osql.

The osql utility uses the ODBC API.Yardımcı programı'nı kullanan SQL Server ODBC sürücüsü için 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şleme için kullanmanız gereken Sqlcmd yardımcı programı.Daha fazla bilgi için bkz:SQLCMD yardımcı programı.

OSQL komutlar

Ek olarak Transact-SQL içindeki ifadeleri Osql, bu komutlar da kullanılabilir.

Komutu

Açıklama

GİT

Sonra son olan GO girilen tüm ifadeleri yürütür.

SIFIRLAMA

Girdiğiniz tüm ifadeleri temizler.

QUIT ya da EXIT)

Gelen çıkar Osql.

ctrl + c

Sorguda den çıkmadan sona erdirir. Osql.

Not

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

(Varsayılan), komut sonlandırıcılar GO yalnızca, bir satırın başında görünürse RESET EXIT QUIT ve CTRL + C'de, hemen tanınıyor Osql istemini.

Her iki sonuna bir toplu iş ve önbelleğe alınan tüm yürütülmesini GO sinyalleri Transact-SQL ifadeler. Giriş her satırın sonunda ENTER'A bastığınızda Osql , bu satırdaki ifadeleri önbelleğe alır.GO yazdıktan sonra ENTER tuşuna bastığınızda, biri şu anda önbelleğe alınmış tüm için bir toplu iş olarak gönderilir SQL Server.

Geçerli Osql yardımcı programı, olduğu gibi çalıştırılan tüm komut dosyası sonunda örtülü bir GO çalışır, bu nedenle tüm tablolarda bir komut dosyası yürütmek.

Bir komutu bir komut Sonlandırıcı ile'başlayan bir satırı yazarak sonlandırın.Komut Sonlandırıcı, komutu çalıştırmak, kaç kez belirtmek için bir tamsayı izleyebilirsiniz.Örneğin, bu komut, 100 kez çalıştırmak için şunu 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.Birden çok satır yayılır büyük ifadeleri.

Windows komut geri çağırma olanaklarını geri çağırma ve değiştirme için kullanılabilir: Osql deyimleri.Varolan sorgu arabellek RESET yazarak temizlenmesini.

Saklı yordamlar, çalışırken Osql sonucunda bir toplu iş her biri arasına boş bir satır yazdırır.Buna ek olarak, deyim yürütülmesi için geçerli değilse, "0 etkilenen satırların" iletisi görünmez.

Osql katılımlı kullanma

Kullanmak için Osql etkileşimli olarak yazınOsql komutu (ve seçeneklerden herhangi birini) komut istemi ister.

Bir sorgu tarafından yürütme (örneğin, Stores.qry) içeren bir dosyayı okuyabilir Osql buna benzer bir komut yazarak:

osql -E -i stores.qry

Bir sorgu (örneğin, Titles.qry) içeren bir dosya okuma ve buna benzer bir komut yazarak, sonuçlar başka bir dosyaya yönlendirin:

osql -E -i titles.qry -o titles.res
Security noteSecurity Note:

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 sunucu için tek bir toplu iş olarak.

Not

Kullanırken Osql, SQL Server SQL komut dosyası, bir sözdizimi hatası olarak görünüyorsa, toplu iş ayırıcı GO, işler.

Açıklama ekleme

Bir Transact-SQL'DE açıklamalar ekleyebilirsiniz deyim gönderilir SQL Server tarafından Osql.Yorum stilleri iki tür izin verilir: -- and /*...*/.

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

Iade sonuçlar için EXIT osql içinde kullanma

Bir SELECT sonucu kullanabileceğiniz deyim gelen bir dönüş değeri olarak Osql.Sonuç ilk satırın ilk sütun, bir (uzun) 4 baytlık tamsayıya dönüştürülür.MS-DOS, alt bayt üst işlemin ya da işletim sistemi hata düzey geçirir.Windows, tüm 4 bayt 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 EXIT 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.Saklanan sistem yordam kümesi 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 EXIT biçimi vardır:

  • Exit

Not

Toplu iş yürütmek; hemen çıkar ve sonra da yok değerini döndürür.

  • EXIT**(** )

Not

toplu iş iş iş, yürütür ve çıkar ve hiç bir değer verir.

  • Exit**(query)**

Not

Sorguyu içeren toplu iş, yürütür ve sonra sorgu sonuçlarını döndürmeden sonra çıkar.

  • RAISERROR 127 durumuyla

Not

RAISERROR içinde kullanılan bir Osql komut dosyası ve 127, bir durum oluşturuldu, Osql çıkın ve ileti KIMLIĞI yedeklemek için iade istemci.Örneğin:

RAISERROR(50001, 10, 127)

Bu hataya neden olur Osql komut bitiş ve ileti KIMLIĞI 50001 istemciye döndürülür.

-99 Için dönüş değerlerini -1 olarak rezerve edilir SQL Server; Osql bu değerleri tanımlar:

  • -100

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

  • -101

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

  • -102

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

Money ve smallmoney veri türleri'ni görüntüleme

Osql görüntüler.money ve smallmoney Ancak, iki ondalık basamakla veri türleri SQL Server değer dahili olarak dört ondalık basamak depolar. Örnek göz önünde bulundurun:

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

Bu deyim bir sonuç üretir. 10.3496, değeri tüm ondalık basamakla bozulmamış depolandığını gösterir.