Tag: sql server

插入Excel表格到SQL数据库

我所在的公司有一个新项目。 两名员工将访问每家商店logging一些信息。 该项目很简单,我们只是想要将这两名员工收集的数据插入到sql数据库中。 不幸的是,这两名员工将只有一台笔记本电脑,这是脱机。 所以,我不能使用同步技术来插入数据。 我的解决scheme是允许两名员工写入Excel表中的数据,然后我试图find一种方法将该Excel表插入到SQL数据库中。 我的问题 是否有可能插入到SQL数据库的Excel表单? 请问有什么更好的解决办法吗? 注意 数据库非常简单,只是一个三列的表。 ID , StoreName和StoreProductsNumber

从SSIS创buildExcel图表

我有以下要求, 我必须运行一个存储过程,它实际上创build表并通过从不同地方获取值来在其中插入值。 在过程结束时,它将依次调用SSIS并从中生成一个excel文件。 到目前为止对我来说这么好,但是这个要求也build议使用excel中生成的值创build一个图表。 这是我真的很困惑如何做到这一点。 我知道可以用SSRS来完成,但是我想知道其他的方法,因为我们只有SSIS,而SSRS完全不在范围之内。 我已经尝试了各种方法(在Excel模板中已经创build了一个dynamicgraphics,并让生成的新值生成graphics,但它不能工作。:()我无法使用提供给SSIS的空的Excel模板创buildgraphics。 Excel是这里的问题,它不允许任何预定义的graphics。 它总是期望创造一个图表的价值。 我也可以去一个VBA的macros选项,(如创build一个button,让用户点击button来生成图表),但我不确定是否是一个可行的? Excel专家请帮忙! 我可能听起来像是一个业余爱好者,但请原谅我,因为我是SSIS的新手,没有一位同事知道如何去做,而且我所做的研究也得不到什么结果,这有点令人沮丧。

使用SQL,如何更新表中的logging列表?

我有一个包含资产的SQL Server表。 其中一些资产实际上被'deactivated'但在我的表格中,它们都被标记为'active' 。 我在Excel中列出了所有停用的资产。 这个列表只包含Asset# 。 我想更新我的SQL Server表,使所有这些资产(从我的Excel列表) 'deactivated' 。 我怎样才能做到这一点? 例: UPDATE ASSETTABLE SET Status = deactivated where Asset# = (LIST OF ASSET# fields from EXECL)

计算字段SQL上的上一个和下一个logging

我有下面的表格: ID GROUPID oDate oTime Value 1 A 2014-06-01 00:00:00 100 2 A 2014-06-01 01:00:00 200 3 A 2014-06-01 02:00:00 300 4 A 2014-06-01 03:00:00 400 5 A 2014-06-01 04:00:00 0 6 A 2014-06-01 05:00:00 10 7 A 2014-06-01 06:00:00 20 我想要得到以下结果: ABCDEF ———————————————————————- 1 ID GROUPID oDate oTime Value Result 2 1 A 2014-06-01 […]

vba从sql serverlogging集中获取值

我的代码来检索值如下所示: Sub UploadData() Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset Dim cn As ADODB.Connection Set cn = New ADODB.Connection Dim strConn As String Dim sql As String strConn = "PROVIDER=SQLOLEDB;DATA SOURCE=.\sql2000;INITIAL CATALOG=EquityDB;INTEGRATED SECURITY=sspi;" cn.Open strConn sql = "select * from EquityDB.dbo.table1 where field1 = '" & Replace(Range("d1").Value, "'", "''") & "'" rs.Open sql, […]

跳过前几行后无法预览SSIS Excel源数据

我正在使用SQL Server 2008 BIDS。 我正尝试读取具有多个工作表的Excel文件。 这些名字大多是按字母顺序排列的(很less有特殊字符“&”)。 数据从第8行开始。我通过设置Excel源的打开行集属性中的行和列来跳过空白行。 我得到确切的映射。 但是,我无法预览数据。 软件包运行成功(一切都变成绿色),但目标中没有数据。 我尝试预览时收到的错误是: 显示预览时出错。 附加信息: 索引和长度必须指向string内的一个位置。 参数名称:长度(mscorlib) 请让我知道如果我做错了什么,或者我缺less任何设置。 我提到的链接: 使用SSIS 2008将Excel导入SQL时跳过行 https://connect.microsoft.com/SQLServer/feedback/details/557049/ssis-fails-to-preview-excel-source-connector-due-to-incompatible-sheet-name 谢谢

C# – 从ASP.Netfile upload更新SQL表

我的情况是,我有一个Excel电子表格,我想上传到SQL数据库,并更新基于主键值(这是locking和隐藏在Excel电子表格中)的信息。 我有下面的代码,可以用来插入新的条目到数据库中,但我不知道如何适应它更新 : string path = string.Concat((Server.MapPath("~/temp/" + FileUpload1.FileName))); FileUpload1.PostedFile.SaveAs(path); OleDbConnection OleDbcon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";"); OleDbCommand cmd = new OleDbCommand("select * from [Sheet1$]", OleDbcon); OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(cmd); OleDbcon.Open(); DbDataReader dr = cmd.ExecuteReader(); string con_str = @"Data Source=****************mydatasource"""""""""""; SqlBulkCopy bulkInsert = new SqlBulkCopy(con_str); bulkInsert.DestinationTableName = "TableName"; bulkInsert.WriteToServer(dr); […]

两行之间的date差异

我没有做好excel编程。 我有一个表格如下: Excel部分 CreatedTime Id 05/04/2015 1000 05/10/2015 1000 05/12/2015 1000 05/01/2015 1001 05/05/2015 1001 05/03/2015 1002 05/13/2015 1002 我想要的是: CreatedTime Id Days_Between_Actions 05/04/2015 1000 4 05/10/2015 1000 6 05/12/2015 1000 2 05/01/2015 1001 1 05/05/2015 1001 4 05/03/2015 1002 3 05/13/2015 1002 10 除了每个“Id” – > =IF(A3 = "05/01/2015",1,DAYS(A3,A2))的第一个条目之外,该公式适用于与每个“Id”相对应的条目。 但是对于每个“Id”对应的第一个条目,公式必须是=IF(A2 = "05/01/2015",1,DAYS(A2,"05/01/2015")+1) 。 是一个更简单的方法来做到这一点? […]

在excel中使用范围的SQL查询作为条件

我使用Excel中的SQL查询中的外部数据将数据提取到电子表格中,然后将电子表格发送到我的学院之一,比如销售部门,他们可以查看查询的信息。 我想能够有一个单元格,他们可以input数据,并按刷新button。 所以我需要做一些这样的事情: SELECT Customer.CustomerCode, Customer.Name, OrderHeader.OrderType, OrderHeader.OrderNumber FROM Customer INNER JOIN OrderHeader ON Customer.CustomerID = OrderHeader.CustomerID WHERE (OrderHeader.OrderType = 2) AND (OrderHeader.OrderNumber = Range("A1").Value) 不知道如何或如果这是可能的,我需要这样做的原因是因为我正在经历所有行情的线,如果超过65536,那么我会有一个问题。 这是我目前所拥有的SQL不同,但并不重要

将Excel数据导入SQL Server 2008 R2 Express

似乎有很多讨论这个,但我找不到具体到我所寻找的东西。 我正在尝试使用查询将数据从Excel导入到SQL Server中的现有表。 我的查询是: INSERT INTO DailyRawData SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml; HDR=NO; Database=C:\Users\home\Desktop\SQLImportTrim.xls', [data$]); 我得到以下错误: 消息7314,级别16,状态1,行2 链接服务器“(null)”的OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”不包含“data $”表。 该表或者不存在,或者当前用户对该表没有权限。 我不认为这是我的权限问题,因为我设置为SysAdmn。 我想知道如果错误是由于查询[data$]的最后一部分,因为这是错误味精引用。 仅供参考,excel文件的名称是SQLImportTrim并且包含我所有数据的选项卡都是命名data 。 我的Excel文件中没有名为data表。 我的查询是否正确?