Tag: sql server

加密BouncyCastle RSA密钥对并存储在SQL2008数据库中

我有一个生成BouncyCastle RSA密钥对的函数。 我需要加密私钥,然后将加密的私钥和公钥存储到单独的SQL2008数据库字段中。 我使用以下内容获取密钥对: private static AsymmetricCipherKeyPair createASymRandomCipher() { RsaKeyPairGenerator r = new RsaKeyPairGenerator(); r.Init(new KeyGenerationParameters(new SecureRandom(), 1024)); AsymmetricCipherKeyPair keys = r.GenerateKeyPair(); return keys; } 这是正确的返回键,但我不知道如何加密私钥然后将其存储在数据库中。 这是我目前使用的加密数据(错误?): public static byte[] encBytes2(AsymmetricKeyParameter keyParam, byte[] Key, byte[] IV) { MemoryStream ms = new MemoryStream(); Rijndael rjdAlg = Rijndael.Create(); rjdAlg.Key = Key; rjdAlg.IV = IV; CryptoStream cs = […]

entity framework6 – 定时查询

我正在使用Entity Framework 6,它是非常棒的数据库拦截器function,用于记录从应用程序数据库发送的查询。 但是,我正在努力为这些查询计时,我有一个长时间运行的查询,返回数十万到数百万行,因此需要大约6到15秒,具体取决于此查询将返回的数据量。 entity framework返回一个SqlDataReader,因为我无法获得获取结果所需的确切时间。 我想知道从查询发送到读取最后一行的时间的完整执行时间。 有没有办法可以做到。

存储过程:传递XML作为参数和INSERT(键/值对)

您将如何构造XML并将其作为参数传递给MS SQL 2005服务器上的存储过程? 您将如何将XML插入表中? 数据采用键/值对的forms: [ 0: [key, value], 1: [key, value], 2: [key, value] ]

C#/ SQL Listener告诉我是否已将一行插入表中

有人可以发布示例代码或告诉我如何在SQL Server数据库中插入新行时如何设置监听器来通知我(触发事件)? 我不想使用任何SQL Server消息传递或代理服务。 我目前有一个文件监听器,它会在新行附加到平面文件时通知我。 我想对数据库表做同样的事情。

可以为空的GUID

在我的数据库中,在其中一个表中,我有一个GUID列,其中包含allow nulls。 我有一个Guid的方法? 在表中插入新数据行的参数。 但是,当我说myNewRow.myGuidColumn = myGuid时,我收到以下错误:“无法隐式转换类型’System.Guid?’ 到’System.Guid’。“

Sqlserver.exe已停止工作

自从安装Visual Studio 2015 Update 3以来,我遇到了以下错误。 它只在Visual Studio 2015打开时发生,并且无论我是否以本地管理员身份运行都会发生。 它很频繁,很刺激,但似乎并没有影响我正在做的任何工作。 代码,服务器资源管理器,VS所有工作正常,弹出错误消息,Microsoft错误报告占用了我的CPU长时间50%的使用率。 有谁知道如何解决这一问题? 我不想花几个小时试图解决它。 错误信息: 在我的应用程序事件日志中,我看到以下内容 故障桶126419871336,类型5事件名称:SQLException64响应:不可用Cab Id:0 问题签名:P1:sqlservr.exe P2:0.0.0.0 P3:0000000000000000 P4:sqlmin.dll P5:2015.130.1601.5 P6:000000005724AE98 P7:-1073741819 P8:0000000000064BB2 P9:00000001D8D946AB P10: 附加文件:\?\ C:\ Users \ m_f \ AppData \ Local \ Microsoft \ Microsoft SQL Server Local DB \ Instances \ ProjectsV13 \ SQLDump0100.mdmp \?\ C:\ Users \ m_f \ […]

SqlBulkCopy会自动启动事务吗?

我通过SqlBulkCopy插入数据,如下所示: public void testBulkInsert(string connection, string table, DataTable dt) { using (SqlConnection con = new SqlConnection(connection)) { con.Open(); using (SqlBulkCopy bulkCopy = new SqlBulkCopy(con)) { bulkCopy.DestinationTableName = table; bulkCopy.WriteToServer(dt); } } } 这是否会自动包装在SQL事务中,以便在出现问题时,数据库的一半将保持与批量插入开始之前相同的状态? 或者将插入一半的数据? 即我是否有必要明确调用con.BeginTransaction 或者,如果我调用SqlBulkCopy的构造函数来获取字符串,那么这是一种更好的方法来使它在事务中发生吗? public void testBulkInsert(string connection, string table, DataTable dt) { using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection)) { bulkCopy.DestinationTableName = table; […]

IDENTITY_INSERT问题设置为OFF? : – /

我正在尝试将订单详细信息插入到我的数据库中,它一直在说: 当IDENTITY_INSERT设置为OFF时,无法在表’Orders’中为identity列插入显式值。 我所要做的就是通过使用WebSecurity.CurrentUserId将用户UserId插入UserId列 – 为什么这不起作用? 我有: dbase.Execute(“INSERT INTO Orders (UserId, OrderId, Status) VALUES (@0, @1, @2)”, WebSecurity.CurrentUserId, Session[“OSFOID”], “Confirmed”);` 所以,正如你所看到的,它非常简单。 但是,为什么它不起作用? 我的表定义是:

如果有文件路径,如何在SQL Server数据库中保存文件?

我正在构建一些C#桌面应用程序,我需要将文件保存到数据库中。 我想出了一些文件选择器,它给了我正确的文件路径。 现在我有问题如何使用它的路径将该文件保存到数据库中。

如果我的软件使用它,我是否必须在每个客户端上安装sql server?

如果我们用c#(或基本上.Net)开发一些软件,我们不会将visual studio安装到任何客户端。 客户端必须安装所需的.Net框架(1.0,1.1,2.0,3.0等),我们很高兴。 同样,如果我们在VC2008中制作应用程序,他只需要具有Visual C ++ 2008运行时(可从MS站点免费获得,大约4-5Mb)。 所以,基本上,我们只需要运行时环境 。 但是没有任何SQL Server 2008运行时(或者我不知道它?)。 所以,我的问题是,如果我的软件使用SQL Server 2008,那么在客户端需要什么运行时(或其他任何东西)才能使用它? 另外,还有一件事,我看到有一个SQL Server Express版本,我可以在部署中使用它,但是看起来有点沉重,知道如果我的软件只有5,10或20Mb我需要安装一个演出只是这样用户可以运行它。 最后,如果我使用的是SQL Server 2008 Developer Edition(我或者是企业版)并且我在客户端上安装了SQL Server Express,如果我的软件使用了某些不支持的function,则不会导致一些问题版? (比如数据库的数量,或并发连接,或任何东西)。 所以? 它需要什么运行时间? 如果安装sql server express是唯一的选择,如果我使用的是Express版本不支持的某些function,该怎么办? 当然,我不能继续在每个客户端上完整安装开发人员版本! 编辑:如果这有任何帮助,我当前的项目是一个图书馆管理系统,它将安装在客户端(图书管理员的计算机,我正在为此制作),所以这里没有服务器客户端的情况。 那我应该在他的电脑上安装sql express吗? 此外,正如YvesR在他的回答中指出的那样,该链接仅显示三个版本(主要版本),但http://msdn.microsoft.com/en-us/library/cc645993%28v=SQL.110%29.aspx显示更详细的比较。 那么,在我刚才描述的这个特定场景中,如果我只是在客户端的机器上部署并表达版本,那就足够了吗? 现在,关于我所说的关于快递版中没有的一些function, http://msdn.microsoft.com/en-us/library/cc645993(v = SQL.110).aspx#CrossBoxScale表明快递版是有限的对于大小为10Gb的数据库,现在我知道在上面描述的场景中已经足够了,但是如果在其他情况下我还需要更多呢? 比快递版本不会这样做,我应该如何部署? 最后, http://www.microsoft.com/sqlserver/en/us/get-sql-server/how-to-buy.aspx显示了另外两个版本,Compact和Developer,我知道开发人员但是这个简洁版是什么? 更重要的是,为什么这些没有被哄骗或列在这里 ? 编辑2:其4Gb,限制,而不是10Gb。 10Gb在SQL Server 2008 R2 Express及更高版本中,在SQL Server 2008 Express中为4Gb。 […]