Tag: sql server 2008 r2

刷新存储过程中的数据

我有ac#entity framework应用程序。 我试图从代码运行存储过程(没有问题)。 它长时间运行,大约30分钟。 当进程通过时,我将每个事务的日志写入SQL表。 我希望从应用程序启动该过程,但随后显示登录屏幕的最后10条记录可能每10秒重新查询一次。 这将显示进展。 private void Window_Loaded_1(object sender, RoutedEventArgs e) { Task.Run(() => _serviceProduct.RefreshAllAsync()); _cvsLog = (CollectionViewSource)(FindResource(“cvsLog”)); var dispatcherTimer = new System.Windows.Threading.DispatcherTimer(); dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick); dispatcherTimer.Interval = TimeSpan.FromSeconds(10); dispatcherTimer.Start(); } private void dispatcherTimer_Tick(object sender, EventArgs e) { _cvsLog.Source = _serviceProduct.GetRefreshLog(); } 我已经改变了代码以简化。 线程在dispatcherTime_Tick进程上阻塞。 看起来存储过程很好。 这是被叫服务。 public ObservableCollection GetRefreshLog() { using (var […]

使用函数在SQL查询中获取错误

当我通过C#适配器运行此查询时,它会导致错误: 使用附近的语法不正确 有任何想法吗? 当我在SQL Server 2008 R2中运行它时,它运行正常。 create FUNCTION [dbo].[fn_Split] (@sep nvarchar(10), @s nvarchar(4000)) RETURNS table AS RETURN ( WITH Pieces(pn, start, stop) AS ( SELECT 1, 1, CHARINDEX(@sep, @s) UNION ALL SELECT pn + 1, stop + (datalength(@sep)/2), CHARINDEX(@sep, @s, stop + (datalength(@sep)/2)) FROM Pieces WHERE stop > 0 ) SELECT pn, SUBSTRING(@s, start, […]

使用Max + 1创建用户友好的唯一序列号的替代方法

我在我的asp.net mvc web应用程序中有了存储库方法,以自动生成一个名为Tag的唯一序列号: – public void InsertOrUpdateServer(TMSServer server, string username) { if (server.TMSServerID == default(int)) { // New entity int technologyypeID = GetTechnologyTypeID(“Server”); Technology technology = new Technology { IsDeleted = true, Tag = “S” + GetTagMaximumeNumber(technologyypeID).ToString(), StartDate = DateTime.Now, }; Save(); //code goes here GetTagMaximumeNumber()函数的位置是: – public int GetTagMaximumeNumber(int typeID) { string s = […]

用逗号分隔的类似数组的字符串执行存储过程

可能重复: 使用逗号分隔参数帮助sql搜索查询 我想编写一个存储过程,在表上执行select并需要一个varchar(max)类型的输入变量。 我想发送一堆由输入参数分隔的值,例如 ‘Jack’,’Jane’,’Joe’ 然后获取包含其中一个名称的行。 在SQL中,代码将是 Select * from Personnel where Name in (‘Jack’,’Joe’,’Jane’); 现在我想在我的C#应用​​程序中有一个变量,比如strNames并填充它 string strNames = “‘Jack’,’Joe’,’Jane'”; 并将此变量发送到SP并执行它。 就像是 Select * from Personnel where Name in (”Jack’,’Joe’,’Jane”) — this is wrong 但是, 如何告诉SQL Server运行此命令? 我需要做到这一点,我知道这是可能的,请给我一些线索。

从SQL Server批量获取记录的最佳方法是什么

场景 :我们从SQL Server获取行到C#.Net控制台应用程序,并通过存储过程对从SQL Server检索到的数据执行操作; 执行操作后,使用C#-MongoDB-Driver将新数据存储到MongoDB中。 问题 :有数十亿行。 我的存储过程包含如下查询: select * from table_name 为了计算出一些批处理逻辑,没有标识列,也没有任何日期列等。 信息 :截至目前,应用程序正在获取最多3500 – 5000条记录并存储到MongoDB中,然后抛出错误,如下所示: System.Runtime.InteropServices.SEHException(0x80004005):外部组件抛出exception。 问题 :任何人都可以建议我从SQL Server批量读取/获取一些逻辑吗?

以编程方式创建SQL Server表

我需要以编程方式在C#中创建一个SQL Server 2008表,以便从列列表中生成表的列(每个列名是表中行的名称) 我的问题是循环列列表的命令字符串是什么,并创建记录的表: List columnsName = [“col1″,”col2″,”col3”] 我想创建一个包含columnsName列的columnsName 。 但由于列表大小不恒定,我需要循环遍历列表以生成表列。

如何首先使用迁移向Entity Framework 4.3代码中的列添加描述?

我首先使用Entity Framework 4.3.1代码进行显式迁移。 如何在实体配置类或迁移中添加列的描述,以便最终作为SQL Server中列的描述(例如2008 R2)? 我知道我可以为DbMigration类编写一个扩展方法,该方法将sp_updateextendedproperty或sp_addextendedproperty过程调用注册为迁移事务中的sql迁移操作,并在迁移Up方法中创建表后调用该扩展。 但是,我还没有发现一种优雅的内置方式吗? 很高兴有一个属性,迁移的更改检测逻辑可以接收并在scaffolded迁移中生成appropritate方法调用。