Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:Linux üzerinde SQL Server
Bu makalede, Linux üzerinde SQL Server örneği ile kullanıcı tarafından belirtilen biçimdeki bir veri dosyası arasında toplu veri kopyalamak için bcp yardımcı programı nasıl kullanılacağı gösterilmektedir.
çok sayıda satırı SQL Server tablolarına aktarmak veya SQL Server tablolarındaki verileri veri dosyalarına aktarmak için bcp kullanabilirsiniz. Queryout seçeneğiyle kullanılması dışında, bcp
Bu makalede şunların nasıl yapıldığını görebilirsiniz:
-
bcp inkomutunu kullanarak verileri tabloya aktarma -
bcp outkomutunu kullanarak tablodaki verileri dışarı aktarma
SQL Server komut satırı araçlarını yükleme
bcp, Linux üzerinde SQL Server ile otomatik olarak yüklenmeyen SQL Server komut satırı araçlarının bir parçasıdır. Linux makinenize SQL Server komut satırı araçlarını henüz yüklemediyseniz, bunları yüklemeniz gerekir. Araçları yükleme hakkında daha fazla bilgi için aşağıdaki listeden Linux dağıtımınızı seçin:
bcp ile verileri içeri aktarma
Bu öğreticide, yerel SQL Server örneğinde (localhost) bir örnek veritabanı ve tablo oluşturacak ve ardından diskteki bir metin dosyasından örnek tabloya yüklemek için bcp kullanacaksınız.
Örnek veritabanı ve tablo oluşturma
Bu öğreticinin geri kalanında kullanılan basit bir tabloyla örnek veritabanı oluşturarak başlayalım.
Linux kutunuzda bir komut terminali açın.
Aşağıdaki komutları kopyalayıp terminal penceresine yapıştırın. Bu komutlar, yerel SQL Server örneğinde (
) örnek veritabanı ( ) ve tablo ( ) oluşturmak için sqlcmd komut satırı yardımcı programını kullanır. Komutları çalıştırmadan önce usernameve<password>değiştirmeyi unutmayın.
Parolanız,SQL Server varsayılan
veritabanı BcpSampleDBoluşturun:
sqlcmd -S localhost -U sa -P <password> -Q "CREATE DATABASE BcpSampleDB;"
TestEmployeesveritabanında tablo BcpSampleDB oluşturun:
sqlcmd -S localhost -U sa -P <password> -d BcpSampleDB -Q "CREATE TABLE TestEmployees (Id INT IDENTITY(1,1) NOT NULL PRIMARY KEY, Name NVARCHAR(50), Location NVARCHAR(50));"
Kaynak veri dosyasını oluşturma
Aşağıdaki komutu kopyalayıp terminal pencerenize yapıştırın. Yerleşik cat komutunu kullanarak üç kaydı olan örnek bir metin veri dosyası oluştururuz ve dosyayı giriş dizininize ~/test_data.txtolarak kaydederiz. Kayıtlardaki alanlar virgülle ayrılmıştır.
cat > ~/test_data.txt << EOF
1,Jared,Australia
2,Nikita,India
3,Tom,Germany
EOF
Terminal pencerenizde aşağıdaki komutu çalıştırarak veri dosyasının doğru oluşturulduğunu doğrulayabilirsiniz:
cat ~/test_data.txt
Terminal pencerenizde aşağıdakiler görüntülenmelidir:
1,Jared,Australia
2,Nikita,India
3,Tom,Germany
Kaynak veri dosyasından verileri içeri aktarma
Aşağıdaki komutları kopyalayıp terminal penceresine yapıştırın. Bu komut, yerel SQL Server örneğine () bağlanmak ve veri dosyasındaki (localhost) verileri veritabanındaki (~/test_data.txt) tabloya (TestEmployees) aktarmak için BcpSampleDB kullanır. Komutları çalıştırmadan önce kullanıcı adını ve <password> gerektiği gibi değiştirmeyi unutmayın.
bcp TestEmployees in ~/test_data.txt -S localhost -U sa -P <password> -d BcpSampleDB -c -t ','
Bu örnekte bcp ile kullandığımız komut satırı parametrelerine kısa bir genel bakış aşağıda verilmiştir:
-
-S: bağlanacak SQL Server örneğini belirtir -
-U: SQL Server'a bağlanmak için kullanılan oturum açma kimliğini belirtir -
-P: Oturum açma kimliğinin parolasını belirtir -
-d: bağlanacak veritabanını belirtir -
-c: Bir karakter veri türü kullanarak işlemler gerçekleştirir -
-t: alan sonlandırıcısını belirtir. Veri dosyamızdaki kayıtlar için alan sonlandırıcısı olarakcommakullanıyoruz
Not
Bu örnekte özel satır sonlandırıcısı belirtmiyoruz. Daha önce veri dosyasını oluşturmak için newline komutunu kullandığımızda metin veri dosyasındaki satırlar cat ile doğru şekilde sonlandırıldı.
Terminal pencerenizde aşağıdaki komutu çalıştırarak verilerin başarıyla içeri aktarıldığını doğrulayabilirsiniz. komutu çalıştırmadan önce username ve <password> değiştirmeyi unutmayın.
sqlcmd -S localhost -d BcpSampleDB -U sa -P <password> -I -Q "SELECT * FROM TestEmployees;"
Bu, aşağıdaki sonuçları göstermelidir:
Id Name Location
----------- ------------------- -------------------
1 Jared Australia
2 Nikita India
3 Tom Germany
bcp ile verileri dışarı aktarma
Bu öğreticide, daha önce oluşturduğumuz örnek tablodan yeni bir veri dosyasına veri aktarmak için bcp kullanacaksınız.
Aşağıdaki komutları kopyalayıp terminal penceresine yapıştırın. Bu komutlar, veritabanındaki tablo verileri TestEmployeesadlı yeni bir veri dosyasına aktarmak için BcpSampleDB komut satırı yardımcı programını kullanır. Komutu çalıştırmadan önce kullanıcı adını ve <password> gerektiği gibi değiştirmeyi unutmayın.
bcp TestEmployees out ~/test_export.txt -S localhost -U sa -P <password> -d BcpSampleDB -c -t ','
Terminal pencerenizde aşağıdaki komutu çalıştırarak verilerin doğru şekilde dışarı aktarıldığını doğrulayabilirsiniz:
cat ~/test_export.txt
Terminal pencerenizde aşağıdakiler görüntülenmelidir:
1,Jared,Australia
2,Nikita,India
3,Tom,Germany
İlgili içerik
- bcp yardımcı programı
- bcp (SQL Server) kullanırken uyumluluk veri biçimlerini belirtin
- VERILERI SQL Server içeri aktarmak için BULK INSERT veya OPENROWSET(BULK...) kullanın
- TOPLU INSERT (Transact-SQL)