Tag: sql server 2008

事务应该在.NET或SQL Server中处理?

我进入了一个使用.NET / C#作为前端而SQL Server 2008作为后端的应用程序。 我发现ALWAYS事务是在c#代码中处理的。 对于这个项目来说,它似乎是一个不成文的规则,我们不应该在存储过程中使用事务。 我个人觉得应该在存储过程中处理事务,因为它可以更好地控制代码! 在我们不需要打开事务的情况下,我们可能会在脚本中进行大量validation。 我们需要在执行插入/更新/删除之前打开一个事务,并且可以尽快关闭它。 寻找答案,这将有助于我理解处理交易的最佳实践,以及我们何时需要在存储的Proc / C#中选择交易。

错误:26 – 找到指定的服务器/实例时出错。 (无法从我的主机服务器连接到我的本地Db)

我之前已经问过这个问题,但没有任何好的回复,我的问题是我的app_data文件夹中有一个本地数据库(aspnetdb.mdf),这里是web.config中的连接字符串: 所以我的网站在我的本地iis服务器上工作正常,但当我把网站放在我的主机服务器上时,我收到此错误消息:建立与SQL Server的连接时发生网络相关或特定于实例的错误。 服务器未找到或无法访问。 validation实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 – 查找指定的服务器/实例时出错)。 在另一台服务器上我有sql server 2008(接受远程连接,我有相同的实例名称SQLEXPRESS)。 我真的尽我所能,但没有任何好结果。 我非常感谢你的帮助,谢谢。

检查用户是否已登录asp.net网站

我正在开发一个网站,用户需要登录系统才能使用它。 当前function是:当用户输入用户名和密码时,在DB中进行检查以检查该用户是否存在以及是否输入了正确的密码。 只有这样才允许该用户登录。 到目前为止一切正常,现在客户端想要为日志记录function添加一个function,即客户端希望仅限制该用户存在1个会话。 即。 如果user1从PC的一个浏览器登录,则不允许他从另一个系统或同一PC的另一个浏览器登录。 我怎么做? 我计划使用我的数据库中的位字段来完成它,这将在用户第一次登录时设置。 如果他尝试记录第二次检查该字段并且仅在未设置位字段时允许登录。 但我觉得它会引起问题, 1)如果用户错误地关闭浏览器的选项卡并尝试再次登录,则无法执行此操作,因为仍会在DB中设置位字段 2)如果用户误将浏览器关闭,何时清除设置字段? 如果有任何其他方式来实现它,那么你可以自由地指出我正确的方向。 正如一些成员所指出的那样,这个问题有重复,但这些问题并不是我想要的,因为they are using form based authentication and I am not 。

如何在Entity Framework 4.0模型中添加第一个设计器的文件流列?

我正在使用EF 4.0设计器通过单击“从模型生成数据库”来创建数据库。 我不想使用sql 2008列类型“filestream”。 不幸的是,我不能从特定列的Type DropDownList中选择“filestream”。 那么,我如何首先使用EF 4.0模型的文件流? 到目前为止,我已经搜索了一些SQL脚本来手动添加这些列,但是通过SQL脚本添加它们意味着我的模型中没有它们。 我该怎么办?

SQL Server中的读取和增量int值

我需要使用c#在SQL Server 2008中以primefaces方式读取和增加值。 例如,我必须插入“批次”的项目,为此我需要最后一批的编号,并确保没有其他人得到这个数字。 所以我只有一个表,只有最后一个批号,并找到一种方法来获取和更新数字只需一步。 我怎样才能做到这一点?

sql binary to c# – 如何在c#中获取二进制的SQL二进制文件

这对你们来说似乎是一个愚蠢的问题。 我有一个带有一个二进制列的SQL表。 它有一些二进制格式的数据。 例如0x9A8B9D9A002020202020202020202020 它等同的英语表示是”test”. 是否可以在c#将此string转换为等效的binaryforms? string s = “test”; // C# code to convert s to it’s equivalent SQL binary form.

无法将byte 数组数据保存到C#中的数据库中。 它节省了0x

我正在尝试上传文件并将其二进制内容保存到我的数据库字段中。 每次我尝试保存时,它只是以0x为单位输入数据库。 这是相关的代码: 我建立变量: HttpPostedFile file = fileInput.PostedFile; 而且,它击中了这个function: LoadFile(gAttachmentContentID, file.InputStream, trn); 其定义为: public static void LoadFile(Guid gAttachmentContentID, Stream stm, IDbTransaction trn) { const int BUFFER_LENGTH = 40 * 1024; byte[] binFILE_POINTER = new byte[32]; //Testing check out check in // 01/20/2006 Paul. Must include in transaction SqlProcs.spATTACHMENTS_CONTENT_InitPointer(gAttachmentContentID, ref binFILE_POINTER, trn); using (BinaryReader reader = […]

将数据保存到DB

我正在使用Visual Studio 2010与SQL Server Express和LINQ to SQL 在应用程序执行期间将数据插入数据库时​​,应用程序正确运行。 数据将插入数据库。 但是,当我停止应用程序并单击server explorer show table data ,我看不到任何数据。 为什么会这样? 这是我的数据库解决方案项的复制输出方向属性的值: database1.mdf: copy always database1Dataset.xsd: do not copy dataclasses1.dbml: do not copy

“TransactionInDoubtException”exception导致我的事务的完整性丢失

我有一个代码尝试插入作用于MSDTC事务的条目,如果有插入失败,则重试插入到特定阈值。 这是代码: while(!SaveToDb){ ……. Thread.Sleep(TimeSpan.FromMinutes(AppConfiguration.RetryInsertionDuringFailureIntervalInMin)); } private bool SaveToDb() { try { …… using (var scope = new TransactionScope(TransactionScopeOption.Required, option)) { Context.SaveEmail(_emailInfoList); Context.SaveSyncState(syncState); scope.Complete(); return true; } } catch (Exception ex) { …….. return false; } } 并且遇到了这个exception: 消息:该交易存在疑问。 堆栈跟踪:System.Transactions.TransactionStatePromotedIndoubt.PromotedTransactionOutcome(InternalTransaction tx),位于System.Transactions.CommittableTransaction.Commit(),位于System.Transactions.TransactionScope.InternalDispose(),位于System.Transactions.TransactionScope.Dispose(),位于Presensoft.Exchange2010Puch。 Core.PushJob.SaveEmailAndSyncState()InnerException:System.Data.SqlClient.SqlException(0x80131904):超时已过期。 操作完成之前经过的超时时间或服务器没有响应。 —> System.ComponentModel.Win32Exception(0x80004005):在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning的System.Data.SqlClient.SqlInternalConnection.OnError(SqlExceptionexception,布尔breakConnection,Action`1 wrapCloseInAction)中等待操作超时(TdsParserStateObject stat eObj,Boolean callerHasConnectionLock,Boolean asyncClose)System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync()上的System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj,UInt32错误) 在System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket() 在System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer()at System.Data.SqlClient.TdsParserStateObject.TryReadByte(Byte&value) 在System.Data.SqlClient.TdsParser.TryRun(RunBehavior […]

指定默认端口时“用户登录失败”

尝试在尝试指定SQL Server端口时尝试调试客户的连接问题。 在本地重现问题,我检查了我的服务器在默认的1433端口下运行。 使用以下命令指定该端口: SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(); builder.DataSource = “servername,1433”; builder.InitialCatalog = databaseName; builder.IntegratedSecurity = false; builder.UserID = userName; builder.Password = UserPsw; 这失败了“用户登录失败”。 如果我删除端口号,它连接正常。 为什么会这样? 顺便说一句,Windows Integrated Security也是如此。 还有一条信息:我也在同一个盒子上运行SQL Server 2005 express SQL服务器。