1. 程式人生 > >sqlCmd下的備份還原執行sql指令碼和事務等處理

sqlCmd下的備份還原執行sql指令碼和事務等處理

SqlCmd -S ./SqlExpress

//備份等命令

      //控制單使用者訪問和多使用者訪問

      //USE [master]

      //GO

      //ALTER DATABASE [BidFileSell] SET  SINGLE_USER WITH ROLLBACK IMMEDIATE

      //ALTER DATABASE [BidFileSell] SET  MULTI_USER WITH NO_WAIT

      //GO

//備份恢復資料庫

'說明,備份恢復資料庫

SQLCMD -S ./sqlexpress -U sa -P 000000 -d master -Q"BACKUP DATABASE test to disk='c:

/aa/aaa.bak'"

SQLCMD -S ./sqlexpress -U sa -P 000000 -d master -Q"RESTORE DATABASE test from 

disk='c:/aa/aaa.bak'"

'說明 ,在D:下database資料夾,在database下建立data

sqlcmd -S ./sqlexpress -i c:/createtable.sql

'重複幾次,5次

sqlcmd -S ./sqlexpress -i c:/createdata.sql

//執行sql

//儲存過程

sp_help

sp_helptext

//列出欄位

 SELECT Name FROM SysColumns WHERE id=Object_Id('TableName')

//切換資料庫

  use databasename;

  go

//查看錶

  select name from sys.tables;

create table bbb(id integer);

//測試事務

declare @v_c as integer;

set @v_c=1;

begin tran

while @v_c<50000

begin

insert into bbb(id) values(@v_c);

set @[email protected]_c+1;

end

if @@error>0 

rollback tran

else

commit tran

go

//測試事務2

create table fff(id integer primary key);

declare @v_c as integer;

declare @e_c as integer;

set @e_c=0;

set @v_c=1;

begin tran

while @v_c<8

begin

insert into fff(id) values(1);

if @@error<>0 

 set @[email protected]_c+1

set @[email protected]_c+1;

end

if @e_c>0 

rollback tran

else

commit tran

go

//或者加return返回,這樣寫

declare @v_c as integer;

set @v_c=1;

begin tran

while @v_c<8

begin

insert into fff(id) values(1);

if @@error<>0 

begin

 rollback tran

 return 

end

set @[email protected]_c+1;

end

commit tran

go

_________________________________________________________________________________________________

轉至  http://blog.csdn.net/u011679955/article/details/52152546

謹以此文送給以前的那些同事們,每每回想其在TARA上一起度過的ORACLE訪問的日子,就會覺得現在的SQLServer那些花裡胡哨的圖形介面簡直是在褻瀆資料庫分析師,而深負犯罪感。順便贊下TOAD,強大的怪獸!

接下來我們來說說sqlcmd.exe. sqlcmd是個好東西啊,它的老爹osql是我最喜歡的SQLServer工具,數度快,功能強大,爽啊!sqlcmd在osql上作了相當多的改進,速度更快,功能更強,但是使用方法卻沒多大變化。比起那個鳥SQL Server Management Studio不知道好了多少倍。使用著相伴多年的edit.com,享受OLE DB直連,安逸啊!

和往常一樣,我們先使用 /?來看看sqlcmd的啟動引數們:

C:/Documents and Settings/chenxie.IFLYTEK>sqlcmd.exe /?

Microsoft (R) SQL Server 命令列工具

版本 9.00.1399.06 NT INTEL X86

版權所有 (c) Microsoft Corporation。保留所有權利。

用法: Sqlcmd            [-U 登入 ID]          [-P 密碼]

 [-S 伺服器]            [-H 主機名]          [-E 可信連線]

 [-d 使用資料庫名稱] [-l 登入超時值]     [-t 查詢超時值]

 [-h 標題]           [-s 列分隔符]      [-w 螢幕寬度]

 [-a 資料包大小]        [-e 回顯輸入]        [-I 允許帶引號的識別符號]

 [-c 命令結束]            [-L[c] 列出伺服器[清除輸出]]

 [-q "命令列查詢"]   [-Q "命令列查詢" 並退出]

 [-m 錯誤級別]        [-V 嚴重級別]     [-W 刪除尾隨空格]

 [-u unicode 輸出]    [-r[0|1] 傳送到 stderr 的訊息]

 [-i 輸入檔案]         [-o 輸出檔案]        [-z 新密碼]

 [-f <內碼表> | i:<內碼表>[,o:<內碼表>]] [-Z 新建密碼並退出]

 [-k[1|2] 刪除[替換]控制字元]

 [-y 可變長度型別顯示寬度]

 [-Y 固定長度型別顯示寬度]

 [-p[1] 列印統計資訊[冒號格式]]

 [-R 使用客戶端區域設定]

 [-b 出錯時中止批處理]

 [-v 變數 = "值"...] [-A 專用管理連線]

 [-X[1] 禁用命令、啟動指令碼、環境變數[並退出]]

 [-x 禁用變數情況]

 [-? 顯示語法摘要]

呵呵,和osql沒什麼變化把。下面我將仔細解釋每個引數和它們的使用方法。

下面是這些引數的詳細解釋(注意,區分大小寫):

1. 首先是登陸方面的:

如果 –U  -P –S都是空,比如直接在CMD下打 sqlcmd或sqlcmd.exe將使用本地賬戶嘗試連線本地資料庫

-U login_id

使用者登入 ID。登入 ID 區分大小寫。

如果 -U 選項和 -P 選項均未指定,sqlcmd 將嘗試使用 Microsoft Windows 身份驗證模式進行連線。身份驗證基於執行 sqlcmd 的使用者的 Windows 帳戶。

如果 -U 選項與 -E 選項(在本主題的後面詳細說明)一起使用,將生成錯誤訊息。如果 –U 選項後有多個引數,將生成錯誤訊息並退出程式。

-P password

使用者指定的密碼。密碼是區分大小寫的。如果未使用 -P 選項,並且未設定 SQLCMDPASSWORD 環境變數,則 sqlcmd 會提示使用者輸入密碼。如果在命令提示符的末尾使用 -P 選項而不帶密碼,sqlcmd 將使用預設密碼 (NULL)。

通過向控制檯列印密碼提示,可以顯示密碼提示,如下所示:

Password:

隱藏使用者輸入,這意味著將不會顯示任何輸入的內容,游標保留原位不動。

如果將 -P 選項與 -E 選項一起使用,將生成錯誤訊息。

如果 –P 選項後有多個引數,將生成錯誤訊息並退出程式。

-E

使用可信連線而不是使用者名稱和密碼登入 SQL Server。預設情況下,sqlcmd 將使用可信連線選項。

-E 選項會忽略可能的使用者名稱和密碼環境變數設定,例如 SQLCMDPASSWORD。如果將 -E 選項與 -U 選項或 -P 選項一起使用,將生成錯誤訊息。

-S server_name [ /instance_name ]

指定要連線的 SQL Server 的例項。它設定 sqlcmd 指令碼變數 SQLCMDSERVER

指定 server_name 將連線到該伺服器中 SQL Server 的預設例項。指定 server_name/instance_name 將連線到該伺服器中 SQL Server 的命名例項。如果未指定伺服器,sqlcmd 將連線到本地計算機上的 SQL Server 的預設例項。從網路上的遠端計算機執行 sqlcmd 時,此選項是必需的。

如果在啟動 sqlcmd 時未指定使用者名稱,SQL Server 將檢查並使用 SQLCMDSERVER 環境變數。如果未指定伺服器,則使用工作站名稱。

-H wksta_name

工作站的名稱。此選項設定 sqlcmd 指令碼變數 SQLCMDWORKSTATION。該工作站名稱在 sys.processes 目錄檢視的 hostname 列中列出,並可使用儲存過程 sp_who 返回。如果未指定此選項,則使用當前計算機名稱。此名稱可用來標識不同的 sqlcmd 會話。

2. 連線設定:

-l time_out

指定 sqlcmd 到 OLE DB 訪問介面的登入超時時間。此選項設定 sqlcmd 指令碼變數 SQLCMDLOGINTIMEOUT。登入 sqlcmd 的預設超時時間為 8 秒。登入超時設定必須是介於 0 和 65534 之間的數字。如果提供的值不是數值或不在此範圍內,sqlcmd 將生成錯誤訊息。該值為 0 時,則允許無限制等待。

-t time_out

   指定命令(或 SQL 語句)超時的時間。此選項設定 sqlcmd 指令碼變數 SQLCMDSTATTIMEOUT。如果未指定 time_out 值,則命令將不會超時。登入 time_out 必須是介於 1 和 65535 之間的數字。如果提供的值不是數值或不在此範圍內,則 sqlcmd 將生成錯誤訊息。

注:實際的超時值可能會與指定的 time_out 值相差幾秒。幾秒,不是幾毫秒,別看錯了。

-d db_name

   啟動 sqlcmd 時發出一個USE db_name 語句。此選項設定 sqlcmd 指令碼變數 SQLCMDDBNAME。它指定初始資料庫。如果資料庫不存在,則生成錯誤訊息且 sqlcmd 退出

-A

   使用專用管理員連線 (DAC) 登入到 SQL Server。此型別連線用於排除伺服器故障。這隻適用於支援 DAC 的伺服器。如果 DAC 不可用,sqlcmd 會生成錯誤訊息,然後退出。很好的東西,下面會詳細介紹。

-I

將 SET QUOTED_IDENTIFIER 連線選項設定為 ON。預設情況下,將其設定為 OFF。這與SQL Server的預設設定不同,SQL是設定預設是ON的。

小帖士:QUOTED_IDENTIFIER,分隔符使用設定。

SET QUOTED_IDENTIFIER 為 ON(預設值)時,由雙引號分隔的所有字串都被解釋為物件識別符號。(比如 Select * from [USER],或Select * from “USER”,這裡USER就被視為非系統保留字)

因此,加引號的識別符號不必符合 Transact-SQL 識別符號規則。它們可以是保留關鍵字,並且可以包含 Transact-SQL 識別符號中通常不允許的字元。不能使用雙引號分隔文字字串表示式,而必須用單引號括住文字字串。如果單引號 (') 是文字字串的一部分,則可以由兩個單引號 (") 表示。當對資料庫中的物件名使用保留關鍵字時,SET QUOTED_IDENTIFIER 必須為 ON。

當 SET QUOTED_IDENTIFIER 為 OFF 時,表示式中的文字字串可以由單引號或雙引號分隔。如果文字字串由雙引號分隔,則可以在字串中包含嵌入式單引號,如省略號。

在SQL操作的時候具體,預設值為ON還是OFF請查SQLServer2005的聯機手冊,上面有詳細描述。

3.顯示設定:

-h headers

指定要在列標題之間列印的行數。系統預設為每組查詢結果列印一次標題。此選項設定 sqlcmd 指令碼變數 SQLCMDHEADERS。使用 -1 指定不能列印標題。如果使用 -1,則在引數和設定之間沒有空格(可以是 -h-1,但不能是 -h -1)。任何無效的值都將導致 sqlcmd 生成錯誤訊息,然後退出。

-w column_width

指定用於輸出的螢幕寬度。此選項設定 sqlcmd 指令碼變數 SQLCMDCOLWIDTH。該列寬必須是介於 8 和 65536 之間的數字。如果指定的列寬不在此範圍內,則 sqlcmd 將生成錯誤訊息。預設寬度為 80 個字元。在輸出行超出指定的列寬時,將轉到下一行。

-e

將輸入指令碼列印到標準輸出裝置 (stdout)。

-r [ 0 | 1]

將錯誤訊息輸出重定向到螢幕 (stderr)。如果未指定引數或指定引數為 0,則僅重定向嚴重級別為 17 或更高的錯誤訊息。如果指定引數為 1,則將重定向所有訊息輸出(包括 PRINT)。

-k [ 1 | 2 ]

     刪除輸出中的所有控制字元,例如製表符和換行符。這會在返回資料時保留列格式。如果指定了 1,則控制字元被一個空格替代。如果指定了 2,則連續的控制字元被一個空格替代。

-p [ 1 ]

    列印每個結果集的效能統計資訊。以下示例是效能統計資訊的格式:

Network packet size (bytes): n

x xact[s]:

Clock Time (ms.): total       t1 avg       t2 (t3 xacts per sec.)

其中

x = SQL Server 處理的事務數。

t1 = 所有事務的總時間。

t2 = 單個事務的平均時間。

t3 = 每秒的平均事務數。

所有時間均以毫秒錶示。

如果指定了可選引數 1,則統計資訊的輸出格式為以冒號分隔的格式,此格式可以由指令碼輕鬆匯入到電子表格中或進行處理。

如果可選引數是除 1 之外的任何值,則將生成錯誤並且 sqlcmd 將退出。

-o output_file

標識從 sqlcmd 接收輸出的檔案。

如果指定了 -u,則 output_file 以 Unicode 格式儲存。包含空格的檔名必須用引號引起來。如果檔名無效,將生成一個錯誤訊息,並且 sqlcmd 將退出。sqlcmd 不支援向同一檔案併發寫入多個 sqlcmd 程序。檔案輸出將損壞或不正確。

-u

    指定無論 input_file 為何種格式,output_file 都以 Unicode 格式進行儲存。

 4.查詢配置:

-q " query "

    啟動 sqlcmd 時執行查詢,但是在查詢完成時不退出 sqlcmd。將查詢用引號引起來,如下例所示。(建議不要使用這個,如果是寫批處理命令或是程式自動執行,請用下面那個)

在命令提示符下,鍵入(不要在查詢中使用 GO 終止符):

sqlcmd -d AdventureWorks -q "SELECT FirstName, LastName FROM Person.Contact WHERE LastName LIKE 'Whi%'"

如果與此選項同時指定了 -b,sqlcmd 在遇到錯誤時將退出。

-Q " query "

    執行查詢並立即退出 sqlcmd,類上。(建議不要使用這個,除非是寫批處理命令或是程式自動執行)

    如果與此選項同時指定了 -b,sqlcmd 在遇到錯誤時將退出。

-i input_file[,input_file2...]

     標識包含一批 SQL 語句或儲存過程的檔案。可以指定要按順序讀取和處理的多個檔案。檔名之間不要使用任何空格。sqlcmd 將首先檢查所有指定的檔案是否都存在。如果有一個或多個檔案不存在,sqlcmd 將退出。

-b

     指定錯誤發生時 sqlcmd 退出並返回一個 DOS ERRORLEVEL 值。當 SQL Server 錯誤訊息的嚴重級別高於 10 時,返回給 DOS ERRORLEVEL 變數的值為 1;否則返回的值為 0。如果除 -b 選項外還設定了 -V 選項,則當嚴重等級低於使用 -V 設定的值時,sqlcmd 將不報告錯誤。命令提示符批處理檔案可以測試 ERRORLEVEL 的值並適當處理錯誤。sqlcmd 不對嚴重級別 10 報告錯誤(資訊性訊息)。

如果 sqlcmd 指令碼包含錯誤的註釋、語法錯誤或缺少指令碼變數,則返回的 ERRORLEVEL 為 1。

-V

    指定 sqlcmd 報告的最低嚴重級別。Transact-SQL 指令碼中發生錯誤時,僅當嚴重級別大於或等於由 -V 開關指定的值時,才報告嚴重級別。如果嚴重級別低於該值,則報告 0。命令提示符批處理檔案可以測試 ERRORLEVEL 的值並適當處理錯誤。

-s col_separator

    指定列分隔符字元。預設為空格。此選項設定 sqlcmd 指令碼變數 SQLCMDCOLSEP。若要使用對作業系統有特殊含義的字元(如 and 字元 (&) 或分號 (;)),請將該字元用雙引號 (") 引起來。列分隔符可以是任意 8 位字元。

-c cmd_end

     指定批處理終止符。預設情況下,通過單獨在一行中鍵入“GO”來終止命令並將其傳送到 SQL Server。重置批處理終止符時,不要使用對作業系統具有特殊意義的 Transact-SQL 保留關鍵字或字元,即便它們前面有反斜槓也是如此。

-R

   設定 SQL Server OLE DB 訪問介面,使其在將貨幣、日期和時間資料轉換為字元資料時使用客戶端區域設定。

5.引數設定:

-a packet_size

    需要不同大小的資料包。該選項設定 sqlcmd 指令碼變數 SQLCMDPACKETSIZE。packet_size 必須是介於 512 和 32767 之間的值。如果指令碼的兩個 GO 命令之間包含大量 SQL 語句,則使用較大的資料包可以提高指令碼執行的效能。我們可以請求更大的資料包,但如果請求被拒絕,sqlcmd 將預設為伺服器預設的資料包大小。

-L [ c ]

     列出在本地配置的伺服器和在網路上廣播的伺服器的名稱。此引數不能與其他引數結合使用。可以列出的伺服器的最大數目是 3000。如果伺服器列表由於緩衝區大小而被截斷,則會顯示錯誤訊息。

     如果指定可選引數 c,則輸出不會顯示 Servers: 標題行,且列出的每個伺服器行都沒有前導空格。這稱為清除輸出。清除輸出可以提高指令碼語言的處理效能。

     注意:由於網路廣播的本質,sqlcmd 可能無法及時接收到所有伺服器的響應,因此,每次呼叫此選項時,根據人品的不同,返回的伺服器列表可能會有所不同。 :-)

-m error_level

     自定義錯誤訊息的顯示。顯示高於指定嚴重級別的錯誤的訊息號、狀態和錯誤級別。而不顯示嚴重級別低於指定級別的錯誤的資訊。用 -1 指定與訊息一起返回所有標題,即使是資訊性的訊息。如果指定了 -1,則在引數和設定之間不能有空格(例如,可以是 -m-1,但不能是 -m -1)。

     此選項設定 sqlcmd 指令碼變數 SQLCMDERRORLEVEL。

-W

   此選項刪除列的尾隨空格。在準備要匯出到另一應用程式的資料時,請將此選項和 -s 選項結合使用。不能與 -y 或 -Y 選項結合使用。

-f < codepage > | i: < codepage > [ < , o: < codepage > ]

     指定輸入和輸出內碼表。內碼表頁碼是指定已安裝的 Windows 內碼表的數值。

-y display_width

   限制為較大的可變長度資料型別返回的字元數:

·         varchar(max)

·         nvarchar(max)

·         varbinary(max)

·         xml

·         UDT(使用者定義的資料型別)

·         text

·         ntext

·         image

     根據實現,UDT 可以使用固定的長度。如果此固定長度 UDT 的長度比 display_width 短,則返回的 UDT 值將不會受影響。但是,如果此長度比 display_width 長,則輸出將會被截斷。如果 display_width 為 0,則輸出將會在 1-MB 處截斷。

     使用 -y 0 選項時要特別注意,因為根據返回的資料量大小,此選項可能導致伺服器和網路上出現嚴重效能問題。

-Y display_width

限制為以下資料型別返回的字元數:

·         char

·         nchar

·         varchar(n),其中 1<n<8000

·         nvarchar(n) 其中 1<n<4000

·         sql_variant

-v var=" value"[ var="value"...]

    建立可用於 sqlcmd 指令碼中的 sqlcmd 指令碼變數。如果該值包含字元,則將其用引號引起來。可以指定多個 var="values" 值。如果指定的任何值中有錯誤,sqlcmd 會生成錯誤訊息,然後退出。

-X [ 1 ]

    從批處理檔案執行 sqlcmd 時,將禁用可能危及系統安全的命令。禁用的命令仍然可以被識別;sqlcmd 發出警告訊息並繼續。如果指定了可選引數 1,則 sqlcmd 將生成錯誤訊息,然後退出。使用 -X 選項時,將禁用以下命令:

·         ED

·         !! command

    如果指定 -X 選項,它會阻止將環境變數傳遞給 sqlcmd。同時該選項還會阻止執行通過使用 SQLCMDINI 指令碼變數指定的啟動指令碼。

-x
    導致 sqlcmd 忽略指令碼變數。當指令碼中包含多個 INSERT 語句,並且這些語句可能包含格式與常規變數,如 $(variable_name) 相同的字串時,這一選項很有用。

_______________________________________________________________________________________________________________-

轉至 :  http://blog.csdn.net/dba_huangzj/article/details/8350829

目錄(?)[+]

概述:

       作為DBA,經常要用開發人員提供的SQL指令碼來更新正式資料庫,但是一個比較合理的開發流程,當提交指令碼給DBA執行的時候,可能已經有幾百個sql檔案,並且有執行順序,如我現在工作的公司,十幾個客戶,每個客戶一個庫,但是資料庫結構、儲存過程、檢視等都是一模一樣,每次執行指令碼(以下稱為升級),如果有一百個指令碼,那麼就要按順序執行過千次,這種工作量可不是一個人能承受得了的。

解決方法:

應對這種情況有以下幾種方法:

1、  購買第三方軟體(一般估計很少人買)

2、  自己程式設計一個小軟體來執行,但是這個邏輯性要求比較高,而且程式設計的能力要有一定層次,這個我暫時沒有。

3、  使用本文介紹的方法,至於是啥,接著看:

使用SQLCMD在SQLServer上執行多個指令碼:

             SQLCMD:使用sqlcmd實用工具,可以在命令提示符處、在 SQLCMD 模式下的查詢編輯器中、在 Windows 指令碼檔案中或者在SQL Server 代理作業的作業系統 (Cmd.exe) 作業步驟中輸入 Transact-SQL 語句、系統過程和指令碼檔案。此實用工具使用 ODBC 執行 Transact-SQL 批處理。(來源於MSDN)詳細語法可以到網上查詢,這裡就不貼出來。

       SQLCMD有一個很重要的命令::r,記住,SQLCMD是大小寫敏感的。當:r發現正在執行SQL指令碼,它會告訴SQLCMD把這個檔案所引用的檔案一併放入呼叫指令碼中。這將告訴你,停止目前的單個查詢。並重新調整查詢,把應該關聯的查詢放到適當的位置。另外,使用:r命令在一個批處理中執行多個指令碼,使得你可以定義一個單獨的變數集,用於包含所有指令碼,但是不包含GO終結符。2005以後引入SQLCMD,可以用於將來替代osql工具。如果你不熟悉SQLCMD,可以認為它是一個能從作業系統執行T-SQL命令和指令碼的命令列工具。

       下面例子中,建立5個作用在TestDB資料庫上有關聯的sql檔案。第一個指令碼叫做CREATE_DB.sql,用於建立一個叫做TestDB的資料庫。這個指令碼包含了4個其他的指令碼(使用了:r命令。),用於生成其他表、表插入、索引建立和儲存過程的建立。一個.bat檔案用於建立用來執行SQLCMD命令。

第一步:先建立一個在C盤下的資料夾:C:\Scripts。然後把指令碼存放到這個資料夾中:

指令碼1:CREATE_DB.sql

[sql] view plain copy  print?
  1. /* SCRIPT: CREATE_DB.sql */  
  2. /* 建立TestDB資料庫 */  
  3. -- This is the main caller for each script
  4. SET NOCOUNT ON
  5. GO  
  6. PRINT '開始建立TestDB資料庫'
  7. IF EXISTS (

    相關推薦

    sqlCmd備份還原執行sql指令碼事務處理

    SqlCmd -S ./SqlExpress //備份等命令       //控制單使用者訪問和多使用者訪問       //USE [master]       //GO       //ALTER DATABASE [BidFileSell] SET  SINGLE_USER W

    Spark-Sql整合hive,在spark-sql命令spark-shell命令執行sql命令整合調用hive

    type with hql lac 命令 val driver spark集群 string 1.安裝Hive 如果想創建一個數據庫用戶,並且為數據庫賦值權限,可以參考:http://blog.csdn.net/tototuzuoquan/article/details/5

    Spark-Sql整合hive,在spark-sql命令spark-shell命令執行sql命令整合呼叫hive

    分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

    mybatis使用log4j列印sql語句執行結果

    本來以為很簡單的問題, 結果自己搞了半天還是不行; 然後google, baidu, 搜出來各種方法, 有加slf4j*.jar的,有說去掉slf4j*.jar,還有說要配置mybatis.cfg.xml的, 有的甚至一眼看上去就是不可能成功的. 試了這麼多, 結果沒有一

    EF執行SQL語句存儲過程

    div spa rip mman code rom {0} base result EF雖然使用對象化的方式避免了我們寫SQL,但是對於部分SQL,例如需要復雜的查詢、執行插入和刪除等可以操作,直接執行SQL可以減少減少性能上的損失。 使用EF執行SQL可以通過Execut

    Access環境使用PowerShell執行SQL命令

    實例 let 取數 無密碼 .net 打開 system 取數據 t對象 要使用數據就要先連接上數據庫,連接Access的方式有好幾種,我現在使用的是Oledb連接方式。其中又分為無密碼和有密碼。 無密碼連接文本:Provider=Microsoft.ACE.OLEDB.1

    在Oracle、MySQL中執行sql指令碼生成hive建表語句

    python3指令碼: #mysql for i in range(len(table_name)): sql1 = """SELECT CONCAT('create table ','%s','(') UNION ALL SELECT CONCAT(

    Phoenix(3):Phoenix執行sql指令碼

    一、實現功能 將需要執行sql語句寫入指令碼,然後,使用psql.py執行。 二、步驟 1.指令碼內容 (1)us_population.sql CREATE TABLE IF NOT EXISTS us_population ( "state" CHAR(2) NOT NULL

    java直接呼叫並執行sql指令碼

    直接上程式碼 package com.qfx.test; import java.io.File; import java.io.FileReader; import java.io.Reader; import java.nio.charset.Charset; import java.sql

    Python執行sql指令碼時GO語句報錯

     在使用Python中的pymssql庫執行如下格式的sql指令碼時: SELECT ..... GO INSERT INTO ... GO 報錯,錯誤資訊如下:  (102, b"Incorrect syntax near 'GO'.DB-Lib error mes

    jenkins配置自動執行sql指令碼

    shell指令碼: bigsql="select big_version,small_version from d0mstore.db_current_version order by big_version desc limit 1;" big_version=`mysql -u資料庫使用者 -p密碼

    docker 部署mysql服務之後,執行sql指令碼

    1,先將.sql檔案copy到docker容器裡 docker ps //找到容器的短ID或者指定的name。 docker inspect  -f '{{.Id}}' id or name 得到指定容器的全ID docker cp 本地檔案路徑 ID全稱:容器路徑[d

    Eclipse中執行sql指令碼檔案

    在Eclipse中匯入或新建sql指令碼檔案(.sql檔案),選擇指定的資料庫執行 1、在Data Source Explorer 下的Database Connections右鍵New 如果沒有Data Sourse Explorer檢視,依照如下方法顯示 2、選擇資料庫型別

    JMeter命令模式動態設定執行緒組持續時間動態傳參

    背景: 1.當通過JMeter的影象化介面執行效能壓測或者場景時候,JMeter介面很容易導致介面卡死或者無響應的情況(20個執行緒數就會卡死) 現象如下: 解決方案: jmeter -n -t D:\apache-jmeter-3.0\bin\log.j

    Java使用MyBatis的ScriptRunner執行SQL指令碼

    指令碼檔案D:/test_transaction.sql: start transaction; drop table if exists testdb.test_transaction_table; create table testdb.test_transaction_table select ta

    Entity Framework Core 執行SQL語句儲存過程

    無論ORM有多麼強大,總會出現一些特殊的情況,它無法滿足我們的要求。在這篇文章中,我們介紹幾種執行SQL的方法。 表結構 在具體內容開始之前,我們先簡單說明一下要使用的表結構。 public class Category { pub

    .net執行SQL指令碼檔案

    //執行指令碼檔案 protected string proceedSQLScripts(string connectionString, string pathToScriptFile)     {         List<string> statemen

    PowerDesigner執行sql指令碼方式建立資料模型

    PowerDesigner 相信 經常和資料庫打交道的都知道這個強大的工具,主要用來建模,在建立模型時以往我都是直接在裡面建立一個模型,然後手動建表,觸發器,序列等,其實在PowerDesigner中

    一個簡單的linux設定定時執行shell指令碼的示例

    很多時候我們有希望伺服器定時去執行一個指令碼來觸發一個操作,比如說定時去備份伺服器資料、資料庫資料等 不適合人工經常做的一些操作這裡簡單說下 shell Shell俗稱殼,類似於DOS下的command和後來的cmd.exe。它接收使用者命令,然後呼叫相應的應用程式。作為命

    crontab執行sh指令碼手動執行結果不一樣問題解決

    當使用crontab執行sh指令碼時,發現存到資料庫的資料丟失了非常多,困惑。。。於是各種搜尋,終於找到問題答案,即環境變數問題,解決方法很簡單,只需要在指令碼開頭增加 source ~/.bash_profile 即可。 還有,如果手動執行指令碼可以成功執行,但cront