『壹』 如何將sql Server中的表變成txt 文件
語法bcp {[[database_name.][owner].]{table_name | view_name} | "query"} {in | out | queryout | format} data_file [-m max_errors] [-f format_file] [-e err_file] [-F first_row] [-L last_row] [-b batch_size] [-n] [-c] [-w] [-N] [-V (60 | 65 | 70)] [-6] [-q] [-C code_page] [-t field_term] [-r row_term] [-i input_file] [-o output_file] [-a packet_size] [-S server_name[\instance_name]] [-U login_id] [-P password] [-T] [-v] [-R] [-k] [-E] [-h "hint [,...n]"]參數database_name 指定的表或視圖所在資料庫的名稱。如果未指定,則為用戶默認資料庫。 owner 表或視圖所有者的名稱。如果執行大容量復制操作的用戶擁有指定的表或視圖,則 owner 是可選的。如果沒有指定 owner 並且執行大容量復制操作的用戶不擁有指定的表或視圖,則 Microsoft�0�3 SQL Server�6�4 2000 將返回錯誤信息並取消大容量復制操作。 table_name 是將數據復制到 SQL Server 時 (in) 的目的表名,以及從 SQL Server 復制數據時 (out) 的源表名。 view_name 是將數據復制到 SQL Server 時 (in) 的目的視圖名,以及從 SQL Server 復制數據時 (out) 的源視圖名。只有其中所有列都引用同一個表的視圖才能用作目的視圖。有關將數據復制到視圖的限制的更多信息,請參見 INSERT。 Query 是返回一個結果集的 Transact-SQL 查詢。如果查詢返回多個結果集,例如指定 COMPUTE 子句的 SELECT 語句,只有第一個結果集將復制到數據文件,隨後的結果集被忽略。使用雙引號引起查詢語句,使用單引號引起查詢語句中嵌入的任何內容。在從查詢中大容量復制數據時,還必須指定 queryout。 in | out | queryout | format 指定大容量復制的方向。in 是從文件復制到資料庫表或視圖,out 是指從資料庫表或視圖復制到文件。只有從查詢中大容量復制數據時,才必須指定 queryout。根據指定的選項(-n、-c、-w、-6 或 -N)以及表或視圖分隔符,format 將創建一個格式文件。如果使用 format,則還必須指定 -f 選項。 說明Microsoft SQL Server 6.5 中的 bcp 實用工具不支持大容量復制到包含 sql_variant 或 bigint 數據類型的表。 data_file 大容量復製表或視圖到磁碟(或者從磁碟復制)時所用數據文件的完整路徑。當將數據大容量復制到 SQL Server 時,此數據文件包含將復制到指定表或視圖的數據。當從 SQL Server 大容量復制數據時,該數據文件包含從表或視圖復制的數據。路徑可以有 1 到 255 個字元。 -m max_errors 指定在大容量復制操作取消之前可能產生的錯誤的最大數目。bcp 無法復制的每一行都將被忽略並計為一個錯誤。如果沒有包括該選項,則默認為 10。 -f format_file 指定格式文件的完整路徑,該格式文件包含以前在同一個表或視圖上使用 bcp 時的存儲響應。當使用由 format 選項所創建的格式文件大容量復制入或復制出數據時,使用此選項。格式文件的創建是可選的。在提示幾個格式問題之後,bcp 將提示是否在格式文件中保存回答。默認文件名為 Bcp.fmt。大容量復制數據時,bcp 可引用一個格式文件,因此不必重新交互輸入以前的回答。如果未使用此選項,也沒有指定 –n、-c、-w、-6 或 -N,則 bcp 將提示輸入格式信息。 -e err_file 指定錯誤文件的完整路徑,此錯誤文件用於存儲 bcp 無法從文件傳輸到資料庫的所有行。來自 bcp 的錯誤信息將發送到用戶工作站。如果未使用此選項,則不創建錯誤文件。 -F first_row 指定要大容量復制的第一行的序數。默認值是 1,表示在指定數據文件的第一行。 -L last_row 指定要大容量復制的最後一行的序數。默認值是 0,表示指定數據文件中的最後一行。 -b batch_size 指定所復制的每批數據中的行數。每個批處理作為一個事務復制至伺服器。SQL Server 提交或回滾(在失敗時)每個批處理的事務。默認情況下,指定的數據文件中的所有數據都作為一批復制。請不要與 -h "ROWS_PER_BATCH = bb" 選項一起使用。 -n 使用數據的本機(資料庫)數據類型執行大容量復制操作。此選項不提示輸入每一欄位,它將使用本機值。 -c 使用字元數據類型執行大容量復制操作。此選項不提示輸入每一欄位;它使用 char 作為存儲類型,不帶前綴,\t(製表符)作為欄位分隔符,\n(換行符)作為行終止符。 -w 使用Unicode 字元執行大容量復制操作。此選項不提示輸入每一欄位;它使用 nchar 作為存儲類型,不帶前綴,\t(製表符)作為欄位分隔符,\n(換行符)作為行終止符。不能在 SQL Server 6.5 版或更早版本中使用。 -N 對非字元數據使用數據的本機(資料庫)數據類型和對字元數據使用 Unicode 字元類型執行大容量復制操作。這是可替代 -w 選項的性能更高的選項,其目的是使用數據文件將數據從一個 SQL Server 傳輸到另一個 SQL Server 中。它不提示輸入每一欄位。在需要傳輸包含 ANSI 擴展字元的數據以及想利用本機模式的性能時,可以使用這一選項。不能在 SQL Server 6.5 版或更早版本中使用 -N 選項。 -V (60 | 65 | 70) 使用SQL Server 早期版本中的數據類型執行大容量復制操作。此選項與字元 (-c) 或本機 (-n) 格式一起使用。此選項並不提示輸入每一欄位,它使用默認值。例如,若要將 SQL Server 6.5 中的 bcp 實用工具所支持(但 ODBC 不再支持)的日期格式大容量復制到 SQL Server 2000,可使用 -V 65 參數。 重要 將數據從 SQL Server 大容量復制到數據文件時,即使指定了 –V,bcp 實用工具也不會為任何 datetime 或 smalldatetime 數據生成 SQL Server 6.0 或 SQL Server 6.5 的日期格式。日期將始終以 ODBC 格式寫入。另外,由於 SQL Server 6.5 版或更早版本不支持可為空的 bit 數據,因此 bit 列中的空值寫為值 0。 -6 使用SQL Server 6.0 或 SQL Server 6.5 數據類型執行大容量復制操作。僅為保持向後兼容性。改為使用 –V 選項。 -q 在bcp 實用工具和 SQL Server 實例的連接中執行 SET QUOTED_IDENTIFIERS ON 語句。使用該選項指定包含空格或引號的資料庫、所有者、表或視圖的名稱。將由三部分組成的整個表名或視圖名引在雙引號 (" ") 中。-C code_page 僅為保持向後兼容性。作為代替,請在格式文件或互動式 bcp 中為每一列指定一個排序規則名。 指定數據文件中的數據代碼頁。只有當數據中包含字元值大於 127 或小於 32 的 char、varchar 或 text 列時,code_page 才有用。 代碼頁值 描述 ACP ANSI/Microsoft Windows�0�3 (ISO 1252)。 OEM 客戶程序使用的默認代碼頁。如果未指定 -C,則這是 bcp 使用的默認代碼頁。 RAW 不發生從一個代碼頁到另一個代碼頁的轉換。因為不發生轉換,所以這是最快的選項。 <值> 特定的代碼頁號碼,例如 850。 -t field_term 指定欄位終止符。默認的欄位終止符是 \t(製表符)。使用此參數替代默認欄位終止符。 -r row_term 指定行終止符。默認的行終止符是 \n(換行符)。使用此參數替代默認行終止符。 -i input_file 指定響應文件的名稱,使用交互模式(未指定 –n、-c、-w、-6 或 -N)執行大容量復制時,響應文件包含對每一欄位命令提示問題的響應。 -o output_file 指定接收 bcp 輸出(從命令提示重定向)的文件的名稱。 -a packet_size 指定發送到和發送自伺服器的每個網路數據包的位元組數。可以使用 SQL Server 企業管理器(或 sp_configure 系統存儲過程)設置伺服器配置選項。但是,使用此選項可以單個地替代伺服器配置選項。packet_size 可以設置為 4096 到 65535 位元組,默認值為 4096。 數據包大小的增加能夠提高大容量復制操作的性能。如果要求一個較大的數據包而得不到,則使用默認設置。bcp 生成的性能統計顯示出所使用數據包的大小。 -S server_name[\instance_name] 指定要連接到的 SQL Server 實例。指定 server_name 以連接該伺服器上的 SQL Server 默認實例。指定 server_name\instance_name 以連接到該伺服器上的 SQL Server 2000 命名實例。如果未指定伺服器,則 bcp 連接到本地計算機上的 SQL Server 默認實例。從網路上的遠程計算機執行 bcp 時,要求此選項。 -U login_id 指定用於連接到 SQL Server 的登錄 ID。 -P password 指定登錄 ID 的密碼。如果未使用此選項,則 bcp 將提示輸入密碼。如果不帶密碼將此選項用於命令提示行末尾,則 bcp 將使用默認密碼 (NULL)。 -T 指定bcp 使用網路用戶的安全憑據,通過信任連接連接到 SQL Server。不需要 login_id 和 password。 -v 報告bcp 實用工具的版本號和版權。 -R 指定使用為客戶端計算機的區域設置定義的區域格式,將貨幣、日期和時間數據大容量復制到 SQL Server 中。默認情況下,將會忽略區域設置。 -k 指定在大容量復制操作中空列應保留一個空值,而不是對插入的列賦予默認值 -E 指定標識列的值出現在要導入的文件中。如果沒有給出 -E,則正導入的數據文件中此列的標識值將被忽略,而且 SQL Server 2000 會根據創建表期間指定的種子值和增量值自動指派唯一的值。如果數據文件的表或視圖中不包含標識列的值,則使用格式文件指定導入數據時應跳過表或視圖中的標識列;SQL Server 2000 將自動為該列指派唯一值。有關詳細信息,請參見 DBCC CHECKIDENT。 -h "hint [,...n]" 指定在大容量復制數據到表或視圖時所使用的提示。在大容量復制數據到 SQL Server 6.x 或更早版本時,不能使用此選項。 提示 描述 ORDER (column [ASC | DESC] [,...n]) 數據文件中數據的排序次序。如果要裝載的數據已根據表中的聚集索引排序,則會提高大容量復制的性能。如果數據文件按不同次序排序,或者該表沒有聚集索引,則將忽略 ORDER 提示。所提供的列名必須是目的表中的有效列。默認情況下,bcp 假設數據文件沒有排序。 ROWS_PER_BATCH = bb 每批中數據的行數(即 bb)。在未指定 -b 時使用,這將使整個數據文件作為單個事務發送到伺服器。伺服器根據值 bb 優化大容量裝載。默認情況下,ROWS_PER_BATCH 未知。 KILOBYTES_PER_BATCH = cc 每批中數據的千位元組 (KB) 近似數量(即 cc)。默認情況下,KILOBYTES_PER_BATCH 未知。 TABLOCK 大容量復制操作期間將獲取表級鎖。由於只在大容量復制操作期間才控制鎖減少了表中鎖的爭奪,因此此提示可以顯著提高性能。如果表沒有索引並且指定了 TABLOCK,則該表可以同時由多個客戶端裝載。默認情況下,鎖定行為是由表選項 table lock on bulk load 決定的。 CHECK_CONSTRAINTS 大容量復制操作期間,將檢查目的表上的所有約束。默認情況下,將會忽略約束。 FIRE_TRIGGERS 與 in 參數一起指定,在目的表上定義的任何插入觸發器將在大容量復制操作期間執行。如果沒有指定 FIRE_TRIGGERS,則不執行插入觸發器。對於 out、queryout 和 format 參數,將忽略 FIRE_TRIGGERS。 注釋將忽略要導入的數據文件中計算列或 timestamp 列的值,SQL Server 2000 自動賦值。如果數據文件不包含表中的計算列或 timestamp 列的值,可用格式文件指定應在導入數據時跳過表中的計算列和 timestamp 列;SQL Server 將自動為該列賦值。 計算列和 timestamp 列照常會從 SQL Server 大容量復制到一個數據文件。 SQL Server 標識符(包括資料庫名稱、表名或視圖名、登錄和密碼)可以包含諸如嵌入空格和引號等字元。當在命令提示符處指定包含空格或引號的標識符或文件名時,需要將該標識符引在雙引號(" ") 內。另外,對於包含嵌入空格或引號的所有者、表或視圖的名稱,可以指定 -q 選項,或者將所有者、表或視圖的名稱在雙引號內用方括弧 ([ ]) 括起來。例如,Northwind 資料庫內有表 Jane's Orders,該表由用戶 Jane Doe 所擁有。若要使用登錄 Jane Doe 和密碼 go dba 將該表從 Northwind 資料庫大容量復制到 Orders.txt 文件,請執行下列命令之一: bcp "Northwind.Jane Doe.Jane's Orders" out "Jane's Orders.txt" -c -q -U"Jane Doe" -P"go dba"bcp "Northwind.[Jane Doe].[Jane's Orders]" out "Jane's Orders.txt" -c -U"Jane Doe" -P"go dba"若要指定包含空格或引號的資料庫名稱,必須使用 -q 選項。 有關此實用工具位置和運行方式的信息,請參見命令提示實用工具入門。 請參見 在不同排序規則間復制數據 使用bcp 和 BULK INSERT 並行數據裝載 SET QUOTED_IDENTIFIER sp_tableoption 使用格式文件 方法二:DTS 導入/導出向導 DTS 導入/導出向導 在所有的數據轉換服務 (DTS) 工具中,DTS 導入/導出向導為在 OLE DB 數據源之間復制數據提供了最簡單的方法。 在連接到源和目的之後,可以選擇要導入或導出的數據,並可對要復制的數據應用各種轉換(例如,通過選擇列或使用 Microsoft�0�3 ActiveX�0�3 腳本)。在大多數情況下,可以自動與源數據一起復制主鍵和外鍵約束。 說明 可以復制從 SQL 查詢中獲得的數據。SQL 查詢可以包含來自同一資料庫或分布式查詢中的多個表的聯接。作為整個進程的一部分,如果不存在任何錶,則 DTS 導入/導出向導會自動為您創建目的表。 可用的數據源 使用DTS 導入/導出向導,可以連接到下列數據源: 大多數的 OLE DB 和 ODBC 數據源以及用戶指定的 OLE DB 數據源。 文本文件。 到一個或多個 Microsoft SQL Server�6�4 實例的其它連接。 Oracle 和 Informix 資料庫。 必須已經安裝 Oracle 或 Informix 客戶端軟體。 Microsoft Excel 電子表格。 Microsoft Access 和 Microsoft FoxPro�0�3 資料庫。 dBase 或 Paradox 資料庫。 有關更多信息,請參見 DTS 連接。 轉換數據 除復制數據外,還可以用諸如 Microsoft Visual Basic�0�3 Scripting Edition (VBScript) 或 Microsoft JScript�0�3 之類的 ActiveX 腳本語言轉換列級數據。有關更多信息,請參見 DTS 轉換、轉換數據任務和在 DTS 中使用 ActiveX 腳本。 復制資料庫對象 使用DTS 導入/導出向導,可以轉換索引、視圖、角色、存儲過程和引用完整性約束等資料庫對象。有關更多信息,請參見復制 SQL Server 對象任務。 保存DTS 包 完成DTS 導入/導出向導之後,可以將連接、轉換以及調度信息保存為 DTS 包。可以下列形式保存包: 保存到 SQL Server msdb 資料庫。 保存到 SQL Server 2000 Meta Data Services。 保存存為結構化存儲文件(.dts 文件)。 保存為 Visual Basic 文件。 可以立即運行包或調度該包以供今後執行。
『貳』 SQL資料庫導出為txt文件
打開資料庫,找到需要導出的表,右擊該表,選擇所有任務,選擇導出文件,點下一步,再點下一步,到導出文件選擇,選擇文本文件,寫入文件名即可。
另外一種方法是,打開數據表之後,按shift選中需要導出的數據,右擊,選擇復制,然後再打開一個文本文件,選擇粘貼就可以
『叄』 SQL Server資料庫如何將多行查詢代碼執行結果導出到txt文件中
1、將上述SQL語句,保存到一個文本文件 s.sql 中
2、建立一個批處理文件runsql.bat,內容如下:
osql -S資料庫名 -Usql用戶名 -Psql用戶密碼 -i s.sql -o result.txt
(如果安裝的是 SQL2000,可將上面的osql,改為 isql)
3、運行runsql.bat後,檢查result.txt,這里就是SQL語句執行後的結果
『肆』 怎麼把sql server資料庫中表的數據導出成TXT格式,或者是excel表格。最好都說一下,謝謝
在查詢分析器中的查詢菜單下選擇以文本顯示結果或者以表格顯示結果,再全選後另存為文件。