1. 程式人生 > >MSSql中啟用xp_cmdshell呼叫第三方程式以及遇到中文路徑時報錯的解決方案

MSSql中啟用xp_cmdshell呼叫第三方程式以及遇到中文路徑時報錯的解決方案

需求環境:資料表增加一條資料時在對應的目錄下生成一個文字檔案記錄資料庫的記錄提供給第三方程式使用。

使用xp_cmdshell 預設情況下沒有被開啟

1.開啟啟用xp_cmdshell

--開啟xp_cmdshell部分
--
------------------------------------------------
--
 To allow advanced options to be changed.EXEC sp_configure 'show advanced options'1GO-- To update the currently configured value for advanced options.

RECONFIGUREGO-- To enable the feature.EXEC sp_configure 'xp_cmdshell'1GO-- To update the currently configured value for this feature.RECONFIGUREGO--通過xp_cmdshell執行shell命令的部分
--
------------------------------------------------Exec xp_cmdshell 'bcp 'GO--關閉xp_cmdshell部分
--
---------------------------------------------------

--
 To allow advanced options to be changed.EXEC sp_configure 'show advanced options'1GO-- To update the currently configured value for advanced options.RECONFIGUREGO-- To enable the feature.EXEC sp_configure 'xp_cmdshell'0GO-- To update the currently configured value for this feature.RECONFIGURE
GO

2.使用xp_cmdshell  生成txt 檔案

-- =============================================
-- Author:  <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER TRIGGER [dbo].[table_trg]
   ON  [dbo].[table]
   AFTER INSERT
AS
DECLARE @content nvarchar(1024),@id nvarchar(1024)
DECLARE @lReturn int
DECLARE @cmd nvarchar(1024),@var nvarchar(1024)
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

     select top 1 @content= name,@id= id from [table] order by id desc
    -- Insert statements for trigger here
 SET @var = @content
 SET @cmd = N'echo ' + N'"' + @var + N'"' +  N'>d:/workspace/' + @nid + '.txt'
 EXEC tpm..xp_cmdshell @cmd

END

相關推薦

MSSql啟用xp_cmdshell呼叫第三方程式以及遇到中文路徑時報解決方案

需求環境:資料表增加一條資料時在對應的目錄下生成一個文字檔案記錄資料庫的記錄提供給第三方程式使用。 使用xp_cmdshell 預設情況下沒有被開啟 1.開啟啟用xp_cmdshell --開啟xp_cmdshell部分 --------------------------

linux安裝mysql時報解決方案

找了很久才找到,謝謝大神,本人需要找的問題主要是安裝時出錯的解決方法。本人的檔案版本跟原創的版本有點不一樣,需要哪個版本自行選擇。。檔案:MySQL-5.6.40-1.el7.x86_64.rpm-bundle.tar解壓檔案得到安裝檔案:MySQL-client-5.6.4

golang使用cgo呼叫c++程式

1 背景 這兩天在考慮使用golang搭建一個http服務,呼叫別人的linux sdk。由於linux sdk是用c寫的,直接使用cgo呼叫c是很方便的,但是個人想使用c++來呼叫c的函式,封裝成c++語法,c++可以使用一些庫,對於開發是比較方便的,所以就得考慮使用cgo呼叫c+

python呼叫matplotlib畫圖,各種中文標註亂碼強力解決辦法

關於python中呼叫matplotlib畫圖,中文標註亂碼 如下: 1、 常規情況 2、 特殊情況 圖形註釋(plt.legend()) 餅狀圖(plt.pie()) 解決辦法: 針對常規情況 # 通用字型設定 fro

全面解析iOSApp的名稱和內容以及啟動頁三大板塊的國際化方案

在做iOS專案時,App的國際化(I18N)幾乎是必做的一件事。App的國際化主要有應用名稱的國際化、內容的國際化,以及啟動頁的國家化。趁著週末有空在網上整理了一些比較全面的資料,給老鐵們分享下。De

asp.net呼叫COM元件釋出IIS時常見錯誤 80070005解決方案

很多人在.net開發Web站點中引用了COM元件,除錯時一切正常,但一發布到IIS下就提示如下錯誤: 檢索 COM 類工廠中 CLSID 為 {} 的元件時失敗,原因是出現以下錯誤: 80070005 以下是網上找出的解決方案:   檢索 COM 類工廠中 CLSID 為 {000209FF-0000

使用svn的過程check out的文件路徑的文件圖標全都加上了“藍色問號”的解決方案

問號 keyword bat 過程 解決 out 使用 方案 word (1)你在對同一層目錄下創建一個記事本文件,然後把下面這句話復制進去 for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn" (

已經設置utf8的mysql cmd插入中文執行報解決方法

客戶 res img 說明 設置 -1 bsp 插入 gbk 說明cmd客戶端的字符集是gbk,結果集也要設置為gbk。 使用語句 set character_set_client=gbk; set character_set_results=gbk; 就

IDEAmodule之間相互引用,必須要install到本地的解決方案

臺電腦 有一個 dea alt 神馬 分享圖片 技術分享 module 引擎 CSDN昨晚打不開了,搞了好久也沒弄明白,很多搜索引擎查到的方案都試過了,都有問題,我用的是idea2018-1旗艦版。 這個問題現在依舊沒有解決,但是我另一臺電腦上有一個2016版本,裝過了之

angularjs 的路由 與 bootstrap標簽選項卡的沖突 解決方案

target href targe home 選項 info 圖片 頁面跳轉 tst 當項目中使用了angularjs 的路由,則所有 像a標簽的href 的鏈接都會走路由,實現頁面跳轉,那麽有些地方需要使用選項卡,就會帶來麻煩。 路由使用如下圖: 某頁面需要使用boot

jQuery AJAX的$.ajax()方法請求成功卻始終進入error問題的解決方案及原因記錄

記錄 error 是我 jsb 應該 成了 blank 運行 可能 在這個示例中,當點擊“click me”按鈕後,jQuery會向tomcat請求a.txt文件,成功過後會彈出“success”警告框,失敗後會彈出“fail”警告框。 運行結果如下圖 當點擊按鈕時,

Maven專案出現java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory異常的解決方案!

前幾天專案出現的問題: 啟動專案時一直報異常資訊:        java.lang.NoClassDefFoundError:org/apache/commons/fileupload/FileItemFactory.

微信小程式程式碼最大限制2M的解決方案

瞭解小程式有最大程式碼量限制之前需要先了解微信小程式的本質:前端近幾年都處於技術爆炸時期, react 最早的是facebook開源的開發框架----react,支援移動網頁和原生app的開發(react native),提倡一次學習,全渠道開發。目的是讓產品研發更聚焦更敏捷,它有三個重要特

修改陣列的變數,無法立馬觸發檢視更新(三種解決方案

第一:使用$set. 直接給student賦值操作,雖然可以新增屬性,但是不會觸發檢視更新 mounted () { this.student.age = 24}原因是:受 ES5 的限制,Vue.js 不能檢測到物件屬性的新增或刪除。因為 Vue.js 在初始化例項時將屬性轉為 getter/sette

Mac OS 使用PyCharm 啟動Python Django程式 解決方案

報錯資訊圖片 報錯資訊文字 django.core.exceptions.ImproperlyConfigured: Requested setting USE_I18N, but settings are not configured. You must either define

關於springcloud使用feign出現LinkedHashMap can not be cast to xxx 的解決方案

關於springcloud中使用feign出現LinkedHashMap can not be cast to xxx 的解決方案 個人公眾號 扯淡 解決方案 自定義FeignClient,覆蓋提供的FeignClient

Pytorch常見的報解決方案

本文用於記錄所在pytorch所遇到過的執行時錯誤,持續更新。 變數所在裝置(CPU,GPU)不一致問題 RuntimeError: Input type (torch.cuda.FloatTen

MAC系統 Cordova因許可權問題導致 安裝失敗、建立失敗問題解決方案

Mac上 安裝完 node 後,安裝Cordova 或 建立時 出現錯誤導致無法正常進行專案。 先貼出完整錯誤提示 usr/local/lib/node_modules/cordova/node_modules/insight/node_modules/configstore/index.j

java程式在eclipse上執行報解決方法:Exception in thread "main" java.lang.NoClassDefFoundError:

最近在Linux上的eclipse中執行java程式出現了這樣的錯誤,弄了很久用了以下三種方法終後終於成功運行了,分享下,希望能幫助到大家。 Linux執行java程式提示錯誤: Exception in thread "main" java.lang.NoClassDefFoundEr

tensorboard使用過程常見報解決方案

在使用tensorboard將神經網路視覺化的過程中,常見遇見的一些報錯及其修正方案: AttributeError: 'module' object has no attribute 'SummaryWriter' tf.train.SummaryWriter 改