[Microsoft.SqlServer.Server.SqlProcedure]
public static void MyMethod()
{
string connectionString = "context connection=true";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlMetaData[] metaData = {
new SqlMetaData("Column1", System.Data.SqlDbType.NVarChar)
,new SqlMetaData("Column1", System.Data.SqlDbType.NVarChar)
};
SqlDataRecord record = new SqlDataRecord(metaData);
record.SetString(0,"hello world");
SqlContext.Pipe.SendResultsRow(record);
}
}
SQLでメソッドを実行すると
EXEC MyMethod
エラー
メッセージ6522、レベル16、状態1、プロシージャMyMethod、行0ユーザー定義ルーチンまたは集約 "MyMethod"の実行中に.NETFrameworkエラーが発生しました:System.ArgumentException:dbTypeNVarCharはこのコンストラクターに対して無効です。System.ArgumentException:at Microsoft.SqlServer.Server.SqlMetaData.Construct(String name、SqlDbType dbType、Boolean useServerDefault、Boolean isUniqueKey、SortOrder columnSortOrder、Int32 sortOrdinal)at Microsoft.SqlServer.Server.SqlMetaData..ctor(String name、SqlDbType dbType )WcfClrApps.MyNamespace.MyMethod()で
自分で作成したレコードを返品するにはどうすればよいですか?SQLを実行したくありません。プロジェクトビルドは.NET3.5用に設定されています。MSDNは、4.0がSQL2008R2でサポートされていないことを示しています。