2011-01-18 30 views
9

Tôi có một SQLCMD kịch bản đơn giản bao gồm một số dòng như thế này:kịch bản sqlcmd với khoảng trống trong tên tập tin

/* Load data into Exampletable */ 
BULK INSERT dbo.Example 
    /* NOTE: I've tried single AND double quotes here. */ 
    FROM "C:\Example Filepath\test.csv" 
    WITH 
    (
      /* skip the first row containing column names */ 
      FIRSTROW = 2, 
      /* specify how fields are separated */ 
      FIELDTERMINATOR = '|', 
      /* specify how lines end */ 
      ROWTERMINATOR = '\n' 
    ) 

Khi tôi chạy nó trên dòng lệnh, tôi nhận được một lỗi như thế này:

Sqlcmd: 'C:\Example': Invalid filename.

Tôi nghĩ rằng có một khoảng trống trong đường dẫn đang gây ra đường dẫn bị cắt, nhưng tôi không thể tìm ra cú pháp hoạt động. Không ai có bất cứ kinh nghiệm với điều này?

Trả lời

9

Các thông báo lỗi âm thanh như sqlcmd không thể tìm thấy file sql.

Hãy thử sqlcmd "c:\example filepath\test.sql" từ lời nhắc lệnh.

Chuỗi được trích dẫn với dấu nháy đơn trong TSQL, với dấu ngoặc kép trong cmd.

1

Surround con đường với dấu nháy đơn như:

'C:\Example Filepath\test.csv' 
+0

Tôi đã thử báo giá đơn và đôi - cùng một lỗi theo cách. – SuperNES

+0

@SuperNES Tôi vừa thử nghiệm nó với dấu nháy đơn và hoạt động tốt. Có thể tệp của bạn không tồn tại hoặc bạn không có quyền. Kiểm tra tại đây: http://msdn.microsoft.com/en-us/library/ms188365(v=sql.90).aspx – nan

Các vấn đề liên quan