首页 > 代码库 > CLR存储过程
CLR存储过程
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存储过程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。