Tag: sql server

Unicode SQL查询W /参数而不是N前缀

我有一个插入查询,可以在C#中针对SQL Server数据库执行。 我插入的列是nvarchar类型。 我插入该列的数据是非英语的。 我是否足以使用AddWithValue将非英语数据传递给服务器? 像这样的例子: string dogName = “עברית”; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); using (SqlCommand command = new SqlCommand(“INSERT INTO Dogs1(Name) VALUES @Name”, connection)) { command.Parameters.AddWithValue(“Name”, dogName); command.ExecuteNonQuery(); } } 或者我必须使用N前缀来声明它是unicode吗? 就像它在这里说的那样。

将sql server rowversion转换为long或ulong?

rowversion(timestamp)数据类型的正确类型是什么? 我知道这是8个字节,但我找不到MSDN中的链接,它告诉它是有符号还是无符号长。 我应该使用哪些代码,它是否重要? byte[] SqlTimeStamp; long longConversion; longConversion = BitConverter.ToInt64(SqlTimeStamp,0); TimeStamp = BitConverter.GetBytes(longConversion); ulong ulongConversion; ulongConversion = BitConverter.ToUInt64(SqlTimeStamp,0); TimeStamp = BitConverter.GetBytes(ulongConversion);

违反PRIMARY KEY约束

我正在尝试记录唯一标识符,因此我无法承担我的ID的重复记录 当我尝试更新名为Clients SQL Server表时,我收到的错误看起来像这样。 违反PRIMARY KEY约束’PK_clients’。 无法在对象’db_owner.clients’中插入重复键。 这个代码看起来像这样: public void Subscribe(string clientID, Uri uri) { clientsDBDataContext clientDB = new clientsDBDataContext(); var client = new ServiceFairy.clientURI(); client.clientID = clientID; client.uri = uri.ToString(); clientDB.clientURIs.InsertOnSubmit(client); clientDB.SubmitChanges(); } 任何想法我怎么能修复这个,所以我可以更新我的行,我想要能做的就是当一行存在然后只更新相关的URI,如果它不存在提交新的clientID + URI, 谢谢 约翰

使用LIST INSERT到存储过程

我有这个存储过程: CREATE PROCEDURE [RSLinxMonitoring].[InsertFeatures] @Features nvarchar(50), @TotalLicenses int, @LicensesUsed int, @ServerName nvarchar(50) AS SET NOCOUNT ON INSERT INTO [RSLinxMonitoring].[FeatureServer] ([Features] ,[TotalLicenses] ,[LicensesUsed] ,[Server]) VALUES(@Features ,@TotalLicenses ,@LicensesUsed ,@ServerName) 它按预期工作,但由于我需要从我的C#Linq-to-SQL类中插入一点退出,我想从我的应用程序中插入一个列表,这可能吗? 我已经看到它已经使用SELECT语句完成,但在使用INSERT时则没有。 更新:由于LINQ to SQL不支持用户定义的表类型,我不能使用表。 🙁

ADO.net SqlTransaction提高了性能

我正在做一些涉及将一批记录插入Sql数据库的工作。 批量的大小会有所不同,但为了论证,我们可以说每5秒有5000条记录。 但可能会少一些。 多个进程将写入此表,没有任何内容正在从中读取。 我在快速测试中注意到的是,围绕整个批量插入使用SqlTransaction似乎可以提高性能。 例如 SqlTransaction trans = Connection.BeginTransaction() myStoredProc.Transaction = trans; sampleData.ForEach(ExecuteNonQueryAgainstDB); transaction.Commit(); 我对能够回滚我的更改不感兴趣所以我不会真正考虑使用事务,除非它似乎提高了性能。 如果我删除此事务代码,我的插入从300ms到大约800ms! 这是什么逻辑? 因为我的理解是事务仍然将数据写入数据库但锁定记录直到它被提交。 我原以为这会有一个开销…… 我正在寻找的是这种插入的最快方法。

在C#中存储SqlServer的raiserror消息

如何在C#中存储SQLSERVER的raiserror消息?

优点/缺点使用多个数据库与使用单个数据库

我需要设计一个代表SQL Server中多个“客户”的Windows应用程序。 每个客户都有相同的数据模型,但它是独立的。 什么是优点/缺点使用多个数据库与使用单个数据库。 哪一个是完成这项工作的最佳方式。 如果要使用单个数据库,那么将采取哪些措施。 编辑: 一件事是数据库将托管在云(rackspace)帐户中。

SQL Server CLR集成是否支持配置文件?

我使用SQL Server CLR集成来创建一个ASSEMBLY。 加载命令: CREATE ASSEMBLY TcpClr FROM ‘G:\TcpClrTest.dll’ WITH PERMISSION_SET = UNSAFE 没有App.Config DLL代码包含: string ip=ConfigurationManager.AppSettings[“connection”].ToString(); App.config还包含: 但是当我执行PROCEDURE时,SQL Server显示错误System.NullReferenceException SQL Server CLR集成是否支持App.config文件?

如何在Visual Studio中添加SQL Server数据库文件(.mdf)而不安装SQL Server Express Edition?

我在Visual Studio 2010项目中添加.mdf文件(SQL Server数据库)下面有一个错误 与SQL Server数据库文件(.mdf)的连接要求在本地计算机上安装并运行SQL Server 2005 Express或SQL Server 2008 Express 我不想安装SQL Server Express(2005/2008),因为我已经安装了SQL Server 2005 Enterprise Edition 我正在使用Visual Studio 2010 Ultimate

.NET 4:如何在Web.Config中的其他程序集中配置EDMX文件

我在配置EDMX文件时遇到问题,该文件位于其他程序集中,而不是Web项目中。 我的项目看起来有点像这样: Project 1 –> Database.edmx –> App.Config Project 2 –> Ton’s of .cs and .aspx files. –> Web.Config with the proper connection string. 在Visual Studio中,Project 1中的.EDMX文件的更新顺利进行,而当我在项目2中有.EDMX文件时,应用程序按预期运行。 任何人都知道如何配置Project 1中的.EDMX文件指向Web.Config的连接字符串? (或者我应该使用Project1.dll.config配置Project 1?)