Tag: sql server 2005

Sqlbulkcopy似乎不适合我

我已经创建了一个数据表并试图通过SqlBulkCopy插入该数据表但不知何故它似乎对我不起作用…. 我收到了错误, The given value of type DateTime from the data source cannot be converted to type decimal of the specified target column. 我的数据源是, DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn(“EmpId”, typeof(Int64))); dt.Columns.Add(new DataColumn(“FromDate”, typeof(DateTime))); dt.Columns.Add(new DataColumn(“ToDate”, typeof(DateTime))); dt.Columns.Add(new DataColumn(“DaysPresent”, typeof(decimal))); dt.Columns.Add(new DataColumn(“OpeningAdvance”, typeof(double))); dt.Columns.Add(new DataColumn(“AdvanceDeducted”, typeof(double))); dt.Columns.Add(new DataColumn(“RemainingAdvance”, typeof(double))); dt.Columns.Add(new DataColumn(“SalaryGiven”, typeof(double))); dt.Columns.Add(new DataColumn(“CreatedDate”, […]

在SQL Server 2005数据库中存储ac#DateTimeOffset值

我想在SQL Server 2005数据库中存储aac#DateTimeOffset值。 Sql 2008将此作为内置类型,但SQL Server 2005没有。 DateTimeOffset结构具有DateTime值,我将其存储为DateTime,一个Offset属性(TimeSpan类型)。 由于这是相对于UTC的时区,因此可能通常是整数小时或半小时。 关于如何最好地将其存储在SQL Server 2005数据库中的建议?

Web应用程序以了解数据库更新

我的Web应用程序(ASP.NET 4)连接到数据库(SQL Server 2005)。 对于插入某个表中的每个新行,我希望Web应用程序可以执行某些过程(例如使用新数据向我发送电子邮件)。 我该如何实施该系统? 我的第一个是使用web应用检查表SN列,并有一个变量lastProcessedSN 。 并且每分钟都要继续投票。 当插入新行时,是否可以让DB通知Web应用程序? 请指教,谢谢。 编辑:发送电子邮件只是一个例子,而不是我想要做的事情。 所以这个问题集中在如何在MSSQL表插入上实现触发器来调用我的程序。

使用guid主键忽略LINQ to SQL实体列名称属性

我正在使用LINQ to SQL(SQL Server 2005 SP3 x64)的简单实体类。 [Table( Name=”TBL_REGISTRATION” )] public sealed class Registration : IDataErrorInfo { [Column( Name = “TBL_REGISTRATION_PK”, IsPrimaryKey = true, IsDbGenerated = true, AutoSync = AutoSync.OnInsert )] public Guid RegistrationID { get; private set; } /* other properties ommited for brevity */ } 这里只有两个有趣的事情: 类和属性名称与表名和列名不同 主键是Guid(uniqueidentifier) 这是表格的样子: create table dbo.TBL_REGISTRATION ( […]

SQL权限添加数据以及如何validation?

我正在寻找一种很好的方法来维护谁可以将数据添加到C#app和SQL Server 2005中的数据库的权限。 我需要解释一下,但要明确这一点。 那么让我们举个例子: 我有两个用户Bob和Jim ,两者都已添加到SQL权限中,因此他们具有对数据库的写入权限。 现在,所有访问都基于域用户帐户。 所有其他用户只有读取权限。 现在我有几个表,例如: 用户 UserPermissions 图书 BookPublishers 因此UserPermissions包含Users和BookPublishers列表。 例如: Bob有权为MS Press添加书籍, Jim有权为O’Reilly添加书籍。 现在我需要validation这些信息并限制它们可以添加的内容。 所以说Jim从命令行使用我的应用程序,他写了类似的东西: Addbook.exe “C# 3.0 in a Nutshell” “O’Reilly” 该工具应该继续并将书籍添加到书籍表中。 现在说Bob尝试相同的命令,该工具应该出错,因为他没有O’Reilly添加书籍的权限。 现在我需要知道如何做几件事。 validation用户是否首先具有SQL Server的写入权限 validation用户是否具有由特定发布者添加books的写入权限 此外,我需要在工具实际尝试添加数据之前validation上述情况是否属实,即在工具继续之前我需要先validation反馈 现在我并不是100%担心用户注入恶意数据,虽然停止它会很好,但它是一个内部工具,我想我可以信任用户……(可能) 无论哪种方式,我都不知道从哪里开始,我的SQL技能非常缺乏。 Akk,最后一件事,我不想使用存储过程添加数据。

如果行不存在,则仅插入行

我正在建立一个点击计数器。 我有一个文章目录和跟踪唯一访问者。 当访问者来时,我将文章ID及其IP地址插入数据库中。 首先,我检查文章id是否存在ip,如果ip不存在,我进行插入。 这是两个查询 – 有没有办法进行这一个查询 另外,我没有使用存储过程我使用常规内联sql

SQL Server 2005中.NET存储过程的默认参数值/可选参数

SQL Server在.NET 2.0框架上用C#编写的存储过程,它具有SqlInt32参数。 我试图使参数可选。 这是一个最小的测试用例,只打印传递给它的整数: [Microsoft.SqlServer.Server.SqlProcedure] public static void TestProc( SqlInt32 TestInt ) { SqlPipe pipe; pipe = SqlContext.Pipe; if (TestInt.IsNull) { pipe.Send(“NULL value passed”); } else { pipe.Send(TestInt.ToString()); } } 这些命令按预期执行,并分别打印“1”和“NULL值传递”: exec dbo.TestProc @TestInt = 1 exec dbo.TestProc @TestInt = null 但是,我的目标是为@TestInt分配一个NULL的默认值,这将允许我执行这个命令: exec dbo.TestProc 我找不到一种方法来为.NET代码中的参数提供默认值。 从我可以通过Googling找到的,.NET 4.0将支持可选参数,因此可能是.NET 2.0没有。 并且(天真地)更改这样的参数声明会给出错误“不允许使用默认参数说明符”: SqlInt32 TestInt = SqlInt32.Null 我还尝试通过添加以下代码重载该方法: […]

如何从XML模式创建SQL Server表模式? (使用.NET和Visual Studio 2008)

我有一个XML模式,我知道“xsd.exe”可以为它生成C#代码。 但我想知道是否可以借助此工具或其他工具从XSD自动创建MS SQL Server 2005+表。 顺便说一下,我没有得到“xsd.exe”生成的C#代码值得的东西。 CodeXS和xsd.exe生成的代码之间有什么区别?

关于逻辑/算法的想法以及如何防止对SqlServer的线程写入中的竞争

我有以下逻辑: public void InQueueTable(DataTable Table) { int incomingRows = Table.Rows.Count; if (incomingRows >= RowsThreshold) { // asyncWriteRows(Table) return; } if ((RowsInMemory + incomingRows) >= RowsThreshold) { // copy and clear internal table // asyncWriteRows(copyTable) } internalTable.Merge(Table); } 这个算法有一个问题: 给定RowsThreshold = 10000 如果incomingRows将RowsInMemory放在RowsThreshold :(1)异步写出数据,(2)合并传入数据 如果incomingRows超过RowsThreshold ,则异步写入传入数据 但是如果??? 假设第二个线程旋转并调用asyncWriteRows(xxxTable); 另外,拥有异步方法的每个线程都将写入SqlServer中的同一个表: SqlServer是否将这种multithreading写入function处理到同一个表中? 跟进 根据Greg D的建议: using (SqlBulkCopy bulkCopy […]

数据库连接池如何影响性能?

我正在使用.Net 2.0 + SQL Server 2005 Enterprise + VSTS 2008 + C#+ ADO.Net来开发ASP.Net Web应用程序。 ASP.Net Web应用程序以数据库为中心/驱动。 我想知道在ADO.Net连接字符串设置中打开/关闭线程池设置时是否有任何关于性能差异的性能参考数据? 性能我的意思是可以支持的并发连接和从ADO.Net客户端执行的特定SQL命令的执行时间? 感谢avvance,乔治