Tag: sql server

将字节从sql server渲染到图像控件?

标记: 代码隐藏: public void ProcessRequest(HttpContext context) { //write your handler implementation here. string username = Convert.ToString(context.Request.QueryString[“username”]); if (username != null) { DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(); byte[] arrContent; DataRow dr; string strSql; strSql = “Select Image from GalleryImages where username = ‘” + username + “‘”; da = new SqlDataAdapter(strSql, […]

SQL CLR Web服务调用:限制开销

我正在尝试提高应用程序的查询性能,而且我在逻辑上陷入困境。 因此应用程序是专有的,因此我们无法改变应用程序端代码。 但是,我们已获得使用底层数据库的许可(令人惊讶的是)。 应用程序调用SQL Server数据库,因此我们运行的当前想法是创建一个与表名相同的视图并重命名基础表。 当应用程序访问视图时,视图会调用两个SQL CLR函数之一,这两个函数除了调用我们放在一起的Web服务之外什么都不做。 Web服务执行所有逻辑,并包含对外部专有API的API调用,该API执行一些额外的逻辑,然后返回结果。 这一切都有效,但是,在扩展到大型数据集(100,000多行)时,我们遇到了严重的性能问题。 非常清楚的一个原因是我们不得不一次使用Web服务在一行上工作,其中包括API调用,这会产生大量的延迟开销。 对此明显的解决方案是找出一种方法来限制每个查询必须命中Web服务的次数,但这就是我被困住的地方。 我已经阅读了有关这种潜在处理方案的几种不同方法,但作为一个总数据库新手,我很难掌握在这种情况下适合的情况。 如果有任何想法/建议,我会非常感激。

无间隙序列,其中涉及具有多个表的多个事务

我(根据法律)要求在不同的表格上使用无间隙数字。 ID可以包含空洞但不包含序列。 这是我必须在C#代码或数据库(Postgres,MS SQL和Oracle)中解决的问题。 这是我的问题: Start transaction 1 Start transaction 2 Insert row on table “Portfolio” in transaction 1 Get next number in sequence for column Portfolio_Sequence (1) Insert row on table “Document” in transaction 1 Get next number in sequence for column Document_Sequence (1) Insert row on table “Portfolio” in transaction 2 Get next […]

c#在“using”代码块中使用Parameters执行SqlCommand

我试图通过’使用’代码块执行SQL命令,但似乎无法使用它来使用参数。 我得到错误:’参数在当前上下文中不存在’,是否有人有这个问题的可能解决方案? inheritance人我的代码: DataTable dt = new DataTable(); using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings[“ConnectionString”].ConnectionString)) using (var cmd = new SqlCommand(” SELECT FName” + ” FROM EmployeeTable ” + ” WHERE EmployeeId = @empId”, con) { Parameters.Add(new SqlParameter(“@empId”,empId)) }) { try { con.open(); dt.Load(cmd.ExecuteReader()); } catch(Exception ex) { //(snip) Log Exceptions } } return dt;

EF 6.1 Code First中不同主键的一对一关系

我在使用Entity Framework 6.1从PayGroup对象获取对employee对象的引用时遇到问题。 我在PayGroup.SupervisorId – > Employee.EmployeeId的数据库中有一个外键。 请注意,这是一个零或一对一的关系(薪资组只能有一个主管,一个员工只能是一个薪酬组的主管)。 根据GitHub上的这篇文章,在具有不同主键的表上不可能有外键。 我已经手动将外键添加到数据库中,但我无法弄清楚如何设置流畅的api映射以便能够从薪酬组中获取员工对象。 薪酬组表 员工表 注意:PayGroup.SupervisorId中有一个外键 – 数据库中的Employee.EmployeeId。 下面是DTO(我目前在这些类之间没有任何工作关系映射): public class PayGroup { public int Id { get; set; } public string SupervisorId { get; set; } public virtual Employee Supervisor { get; set; } } public class Employee { public string EmployeeId { get; set; } public […]

SQL Server:“为程序集’测试’创建程序集失败,因为程序集’测试’格式错误或不是纯.NET程序集。”

当我尝试将混合模式C ++ / CLI程序集加载到SQL Server 2012时,出现此错误: CREATE ASSEMBLY [Test] AUTHORIZATION [dbo] from ‘H:\test.dll’ WITH PERMISSION_SET = SAFE Msg 6544,Level 16,State 1,Line 1为程序集’Test’创建程序集失败,因为程序集’Test.dll’格式错误或不是纯.NET程序集。 无法validation的PE标头/本机存根。

在一个表单中声明SqlConnection

我正在寻找关于C#的一些建议 – 请记住,我只是C#和Sql的初学者。 我期待设计一个小程序,它将添加/编辑/删除并运行所有链接到Sql数据库的报告。 我希望在同一表单的不同区域中包含多个函数和Sql查询。 示例:1。我希望有一个用于搜索的combobox(从dbo.table中选择*)2。我有一个按钮,当单击时显示来自另一个dbo.table的所有信息。 我的问题是: 我是否必须多次声明我的Sqlconnection,或者可以在我的声明中声明: public partial class MainMenu : Form { SqlConnection mmConnection = new SqlConnection(“#”); SqlCommand mmCommand = new SqlCommand(); SqlDataReader reader; } 然后我可以使用: mmConnection.Open(); mmConnection.Close(); 任何建议都会很棒。 如果我可以在我的表单顶部声明它将保持我的代码更清洁。 最诚挚的问候,扎克哈格里夫斯。

通过entity framework将int数组传递给T-SQL存储过程

我阅读了很多post并认为我理解了这些概念,但是我的一小部分内容未能从C#/ EF模块传递到SQL Server存储过程。 希望其他人可以发现问题所在。 我正在使用EF6,4.5 .Net Framework,SQL Server 2014 在数据库中我创建了这些类型/过程: CREATE TYPE [dbo].[IntsTTV] AS TABLE( [Id] [int] NOT NULL ) 请注意,名为“Person”的表存在列’Id’(int)和’LastName’(nvarchar),并且具有数据。 CREATE PROCEDURE [dbo].[GetUsers] @UserIds dbo.IntsTTV READONLY AS BEGIN SELECT p.LastName FROM [dbo].[Person] p INNER JOIN @UserIds ids On p.Id = ids.Id; END // C#代码 SqlMetaData[] columns = new SqlMetaData[1]; columns[0] = new SqlMetaData(“Id”, SqlDbType.Int); […]

如何将一个变量中的一个参数中的多个值传递给SSIS的OLEDB源

我试图将多个值作为一个参数传递。 例如:我需要在(1,2,3,4,5)中获取employeeID , employeeID字段数据类型是Integer。 查询: select * from emp where employeeID = ? 我创建一个值为1的变量’v_employeeID’并传递OLEDB Source中的参数映射。 我可以传递一个值,但我不能传递多个值。

具有相同列的相同表的数据建模

我有许多表具有相同数量的列和名称,因为它们都是查找表。 例如,有LabelType和TaskType表。 LabelType和TaskType表具有TypeID和TypeName列。 它们将在其他表中用作外键,例如带有shippingLog表的LabelType表和带有EmployeeTask表的TaskType表。 LabelType Table TypeID TypeName 1 Fedex 2 UPS 3 USPS TaskType Table TypeID TypeName 1 Receiving 2 Pickup 3 Shipping 到目前为止,我有20多个表格,我预计它会继续增加。 我没有问题,但我只是想知道是否有更好或更聪明的方式使用表格。 我甚至考虑将所有这些表合并为一个查找类型表,并通过从查找表中添加外键来区分它们。 查找表可能包含Label,Task等数据。然后,我只需要一个或两个表来查找所有这些查找数据。 如果您有更好或更智能的数据建模方法,请告诉我。