1
주어진 위치에서 XML 파일을 추출하려고하는데 C#에서 특정 위치를 가져 와서 SQL 스크립트로 전달해야합니다.매개 변수화 된 파일 이름으로 OpenRowSet 사용
CREATE TABLE XMLwithOpenXML
(
Id INT IDENTITY PRIMARY KEY,
XMLData XML,
LoadedDateTime DATETIME
)
DECLARE @filePath nvarchar(256)
INSERT INTO XMLwithOpenXML(XMLData, LoadedDateTime)
SELECT CONVERT(XML, BulkColumn) AS BulkColumn, GETDATE()
FROM OPENROWSET(BULK 'C:\BimlFlex\BimlFlex.DatabaseContents.xml', SINGLE_BLOB) AS x;
은 분명히 내가 @filepath와 하드 코딩 경로를 대체 할 (또는?)하지만 난 그렇게 그것이 기대하고 있다고 할 때 문자열이나 :
이
는 내 현재 코드의 조각이다 a text_lex.using (var cmd = new SqlCommand(...))
{
cmd.Parameters.Add(new SqlServerParameter(0, "actual path from unzipping");
편집 :
그런 다음 C#에서 내가 좋아하는 뭔가를 바라고 그래서 같이 OPENROWSET 부분에 대한 동적 SQL을 사용하기 위하여려고하고있다 : 이DECLARE @OpenRowSetSql nvarchar(MAX)
SET @OpenRowSetSql =
'INSERT INTO XMLwithOpenXML(XMLData, LoadedDateTime)
SELECT CONVERT(XML, BulkColumn) AS BulkColumn, GETDATE()
FROM OPENROWSET(BULK '''+ @filePath + ''', SINGLE_BLOB) AS x;'
EXEC sp_executesql @OpenRowSetSql
지금 내 질문은 : C#에서 매개 변수를로드하는 방법은 무엇입니까?
'Stackoverflow FROM OPENROWSET' – MethodMan
그래, 내가 OpenRowSet 쿼리를 다이나믹 SQL로 만들 필요가 있다는 것을 알았지 만, 어떻게 매개 변수를로드 할까? C#에서? [여기] (http://pastebin.com/zGVDGc0v) –
코드를 업데이트하십시오. 알 수없는 링크를 클릭하지 않을 예정입니다. 죄송합니다. 질문을 편집하고 여기에 동적 SQL을 표시하십시오. – MethodMan