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にハードコードされたパスを交換したいが、私はそうするとき、それは文字列を期待すると述べていますかtext_lex。
そして、C#で、私のようなものを行うに期待しています:
using (var cmd = new SqlCommand(...))
{
cmd.Parameters.Add(new SqlServerParameter(0, "actual path from unzipping");
編集:私はそうのような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#でパラメータをロードするにはどうすればよいですか?
インターネット上の多くの例を見るには、以下のgoogle検索を行ってください。Stackoverflow FROM OPENROWSET' – MethodMan
私はOpenRowSetクエリを動的SQLにする必要があるとわかっていますが、 C#で? [こちら](http://pastebin.com/zGVDGc0v) –
コードを更新してください未知のリンクをクリックしません申し訳ありません質問を編集してここに動的SQLを表示 – MethodMan