0
我想調用一個簡單的C#腳本作爲SQL過程的一部分,但似乎無法弄清楚。 有關如何獲得此功能的指示將非常棒。 在此先感謝在SQL過程中調用c#腳本
這是我的C#腳本,它只讀取在SQL過程中設置的.txt文件(@filename)的前30行,並將其輸出到新的.txt文件(文件.txt)SQL過程然後處理其餘的。
運行良好與硬編碼的@filename,但我需要它使用set @文件名從SQL程序文件中讀取和被調用,並從SQL過程
using System;
using System.IO;
using System.Linq;
namespace GenericLoad
{
class ReadFromFile
{
static void Main()
{
if(File.Exists(file.txt))
{
File.Delete(file.txt);
}
string[] lines = System.IO.File.ReadLines(@filename).Take (30). ToArray();
foreach (string line in lines)
{
Console.WriteLine(line);
FileStream fs = new FileStream("file.txt", FileMode.Append);
TextWriter tmp = Console.Out;
StreamWriter sw = new StreamWriter(fs);
Console.SetOut(sw);
Console.WriteLine(line);
Console.SetOut(tmp);
sw.Close();
}
//Console.ReadKey();
}
}
}
爲什麼你認爲這甚至有可能?您可以創建SQLCLR函數和過程,但在這種情況下,這是完全錯誤的,需要提升權限並禁用某些安全功能。你爲什麼不簡單地在你的應用程序中做所有的工作或者使用SSIS?如果你只想輸出一些行,爲什麼不使用bcp來導出它們? –
如果你想從一個文件加載行,你應該嘗試BULK INSERT語句(https://msdn.microsoft.com/en-us/library/ms188365.aspx) –
感謝您的評論,我準確地接近它那樣!並達到了一個更簡單和滿意的結果。 – NClelland