首页 > 其他 > 详细

CLR存储过程

时间:2014-11-03 11:29:30      阅读:308      评论:0      收藏:0      [点我收藏+]
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;


public partial class StoredProcedures
{
    [Microsoft.SqlServer.Server.SqlProcedure]
    public static void StoredProcedure1(string  name)
    {
        SqlPipe sp = SqlContext.Pipe;
        string sql = "insert into idcode(idcode)values('"+name+"')";
        using (SqlConnection conn = new SqlConnection("context connection=true"))
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandType = CommandType.Text;
            cmd.Connection = conn;
            cmd.CommandText = sql;
            SqlDataReader rdr = cmd.ExecuteReader();
            sp.Send(rdr);
            conn.Close();
        } 
    }
};

    注:本程序中没有用类MyDBase,而是使用“context.connection=true”(说明详见:context.connection帮助文档)连接数据库。

    谷歌翻译:内部数据访问的问题是一个相当常见的场景。也就是说,你想访问你的哪些公共语言运行时(CLR)存储过程或函数执行相同的服务器。一种选择是创建一个使用System.Data.SqlClient.SqlConnection的连接,指定指向本地服务器的连接字符串,并打开连接。这需要指定凭据登录,连接是在比存储过程或函数不同的数据库会话,它可能有不同的设置选项,它是在一个单独的事务,它不看你的临时表,等等。如果您的托管存储过程或函数的代码被执行的SQL Server的过程中,这是因为有人连接到该服务器并执行一个SQL语句来调用它。你可能想在存储过程或函数在这方面的背景下,执行连同其交易,SET选项,等等。这就是所谓的上下文的连接。

CLR存储过程

原文:http://blog.csdn.net/lucky51222/article/details/40737471

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!