Articles of sql server

如何通过每次迭代重用SqlCommand参数?

我想为我的数据库实现一个简单的删除按钮。 事件方法看起来像这样: private void btnDeleteUser_Click(object sender, EventArgs e) { if (MessageBox.Show(“Are you sure?”, “delete users”,MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) { command = new SqlCommand(); try { User.connection.Open(); command.Connection = User.connection; command.CommandText = “DELETE FROM tbl_Users WHERE userID = @id”; int flag; foreach (DataGridViewRow row in dgvUsers.SelectedRows) { int selectedIndex = row.Index; int rowUserID = int.Parse(dgvUsers[0,selectedIndex].Value.ToString()); command.Parameters.AddWithValue(“@id”, […]

数据库插入性能

我们计划实施一个系统,将高频率的市场价格记录到数据库中进行进一步分析。 为了简单地了解我们可以在不同的数据库解决方案上获得什么样的存储性能,我创建了一个用于插入基本行标记信息的小应用程序。 在几个不同的DB上运行相同的代码时,我们得到了一些有趣的结果。 插入的数据非常简单如下: CREATE TABLE [dbo].[price]( [product_code] [char](15) NULL, [market_code] [char](10) NULL, [currency] [nchar](6) NULL, [timestamp] [datetime] NULL, [value] [float] NULL, [price_type] [char](4) NULL ) ON [PRIMARY] Microsoft SQL Server: 总测试时间:32秒。 每秒3,099个价格。 MySQL服务器: 总测试时间:18秒。 每秒5,349个价格。 MongoDB服务器: 总测试时间:3秒。 每秒25,555个价格。 此测试的目的仅仅是为了获得底部系统可以预期的“原始性能”的一些指示。 当实际实施解决方案时,我们当然会做缓冲,批量插入等。 我们只关心插入的速度,因为查询是在以后“离线”完成的。 有没有人对其他适合的数据库有任何建议? 今晚我也将尝试使用HDF5和MonetDB。 它需要具有多客户端访问权限。 谢谢你的任何建议! 更新 : 抱歉,我在定位之前对我的问题进行了重大编辑,似乎我遗漏了服务器版本和硬件的一些细节。 所有测试都在8核服务器上运行,其中12GB RAM运行Windows 2008 x64。 Microsoft SQL […]

确定SQL Server CE中是否存在表?

我知道这与这个问题类似,但我在C#中使用SQL Server CE 3.5和WinForms项目。 如何确定表是否存在? 我知道虽然EXISTS是,但不支持IF关键字。 information_schema是否存在于我可以查询它的CE中? 谢谢。

entity framework代码首先使用现有数据库迁移策略

我有以下情况,无法确定正确的迁移策略。 帮助很感激。 应用程序创建并使用数据库作为数据存储 如果需要,应用程序需要在启动时更新数据库 使用Nuget Manager控制台不是一个选项。 (出于迁移目的,本地没问题) 我在分发中的现有数据库不是EF 现在我想开始使用EF代码的第一种方法。 我需要实现的是: 如果没有数据库则创建一个 如果数据库存在,则使用空迁移(只是为下一次升级做好准备) 这应该在应用程序启动时发生 数据库不存在====>创建EF初始=====> Upg v1 =====> Upg V2 数据库存在=====>跳过初始但准备下次升级=====> Upg v1 ======> Upg v2 谢谢你的帮助 附加信息:这是存在的数据库(仅作为示例): CREATE DATABASE Test GO Use Test GO CREATE SCHEMA [TestSchema] AUTHORIZATION [dbo] GO CREATE TABLE [TestSchema].[Table1]( [Id] [uniqueidentifier] NOT NULL, [Column1] [nvarchar](500) NOT NULL, [Column2] [bit] NOT NULL, […]

需要在.net中使用数据库表模式获取空数据表

使用sql server表的模式创建Empty DataTable对象的最佳方法是什么?

线程中止离开僵尸事务并破坏SqlConnection

我觉得这种行为不应该发生。 这是场景: 启动一个长期运行的SQL事务。 运行sql命令的线程被中止(不是我们的代码!) 当线程返回托管代码时,SqlConnection的状态为“已关闭” – 但该事务仍在sql server上打开。 SQLConnection可以重新打开,你可以尝试在事务上调用回滚,但它没有效果(不是我期望这种行为。重点是没有办法访问数据库上的事务并滚动它背部。) 问题只是在线程中止时没有正确清理事务。 这是.Net 1.1,2.0和2.0 SP1的问题。 我们正在运行.Net 3.5 SP1。 这是一个说明问题的示例程序。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Threading; namespace ConsoleApplication1 { class Run { static Thread transactionThread; public class ConnectionHolder : IDisposable { public void Dispose() { } public void executeLongTransaction() { Console.WriteLine(“Starting a […]

什么.NET StringComparer等同于SQL的Latin1_General_CI_AS

我正在我的数据库和我的C#代码之间实现一个缓存层。 我们的想法是根据参数将某些数据库查询的结果缓存到查询中。 数据库正在使用默认排序SQL_Latin1_General_CP1_CI_AS – SQL_Latin1_General_CP1_CI_AS或Latin1_General_CI_AS ,我相信基于一些简短的谷歌搜索相当于相等,只是排序不同。 我需要一个.NET StringComparer,它可以给我相同的行为,至少对于相等测试和哈希码生成,正如数据库的排序规则所使用的那样。 目标是能够在C#代码中的.NET字典中使用StringComparer来确定特定字符串键是否已经在缓存中。 一个非常简单的例子: var comparer = StringComparer.??? // What goes here? private static Dictionary cache = new Dictionary(comparer); public static MyObject GetObject(string key) { if (cache.ContainsKey(key)) { return cache[key].Clone(); } else { // invoke SQL “select * from mytable where mykey = @mykey” // with parameter @mykey set […]

检查针对SQL Server数据库的LINQ查询

有没有办法在.NET中查看我们正在触发的针对数据库的LINQ查询? 例如。 我正在LINQ中查询一下,我希望看到SQL查询正在触发与数据库进行通信。 是否有任何Visual Studio窗口或任何其他方式?

EF Code First – 超时已过期。 完成前经过了超时时间

为这个措辞奇怪的问题道歉。 我不知道实际问题是什么,但希望有人可以给我一些见解。 尝试运行迁移时出现以下错误: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. —> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out 值得注意的是,在我的笔记本电脑上,这种情况并没有发生,但在我的VM(azure色 – 大)上,这种情况发生在100%的故障率上。 我使用的是Ef 6.0.0 -rc1 。 请注意,更新EF不是一个选项。 如果更新到EF 6.0.0或6.0.1,我将收到以下错误,100%失败率: Code First添加迁移期间的错误 我也计时了错误。 触发错误大约需要1.5分钟。 当使用-Verbose标志运行时,它试图创建200个带索引的表。 复制sql查询并在SSMS中将其排除需要5秒。 我厌倦但没有用的一些事情: 1)设置ObjectContext.CommandTimeout = 36000 // 10 hours! 如下所示: https://stackoverflow.com/a/6234593/305469 2)在“web.config”中设置连接字符串中的超时: […]

使用OpenID进行网站身份validation

我想在使用ASP.NET 2.0和SQL Server 2005的新应用程序中实现OpenID。 我选择Twitter,Facebook和Google作为潜在的OpenID提供商。 我已经在.NET中找到了Twitter实现,我正在研究Google的OpenID实现 ,但我想确保我的设计(主要是!)完美无瑕。 我的数据库架构是否正确? 我已将Reader与ProviderOpenID相关联,后者仅包含nullable Name为nullable Name列。 我存储了OauthToken并在每次请求时使用它来访问他的个人资料并validation登录。 我错过了什么吗? 任何人都可以告诉我,对于Google的OpenID提供程序的.NET实现是否有开源库? 我在Google上找到了以下教程,但我不明白它是如何工作的。 有没人试过这个? 这是最好的方法吗?