Tag: sql

Excel 2007窗体到SQL Server

我一直在寻找一个答案,而我将描述的问题没有成功。 我有一个Excel表,经常手动更新。 我被要求以实时的方式将每一行更改推送到一个Sql Server中。 我需要用户可以通过按保存button来保存一行到服务器。 在SSMS中,我已经能够使用OPENROWSET从服务器读取数据,例如: SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=YES;Database=C:\tmp\test2.xlsm', 'SELECT * FROM [myrng]'); 我也已经能够将数据从Excel插入到SQL Server中: Insert into NEWDB.dbo.master Select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=YES;Database=C:\tmp\test2.xlsm','SELECT * FROM [myrng]') 当我尝试将QUERY,INSERT或UPDATE数据返回到Excel文件仍然打开的服务器时出现问题。 我打算最终要做的是构build一个向导应用程序来填充一个Excel表,这个表可以在stream程结束时提交给相应的SQL Server表。 我一直在玩VBA和ADO,目前还没有成功,而且我曾经被build议使用DTS或SSIS,但是我需要Excel文件始终保持打开状态。 在此先感谢,罗德里戈。

从众多的Excel文件中提取数据到一个数据表或文件的方法

我有超过100个.xlsx文件。 这些文件中的每一个都有两张纸。 在第一张纸上(总是叫sts)通常有大约15-20万行,并有一列叫做“代码”。 第二张(总是称为cps)有大约85k行,也有相同的代码栏。 我需要从表单sts中提取所有行的特定代码,将表格/表单中的所有行以及表单cps中特定代码的所有行转换为第二个表格/表单,并且我需要为所有100个单数文件。 我尝试了两种方法 1)使用Excel VBA打开每个文件,使用自动filter将需要的代码行复制到主工作簿中进行整理。 使用以下代码从预定义的起始目录中获取文件并向下钻取Public Sub SearchFiles() Public Sub SearchFiles() 'Macro to start the file extraction by drilling down from the mydir path specified Dim code As String Dim time1 As Double Dim time2 As Double Range("a1").Value = InputBox("Please type code to extract", code) time1 = Timer myFileSearch _ myDir:="C:\Data\Dashboard\2014\New Files […]

使用LINQ to Excel将数据从Excel导入到SQL Server数据库

林新手在LINQ到SQL,我想导入Excel文件内容到我的SQL服务器数据库。 这是我的代码: private void btnImport_Click(object sender, RoutedEventArgs e) { dbEntities = new BASUEntities(); string pathToExcelFile = importFileName; var excelFile = new ExcelQueryFactory(pathToExcelFile); excelFile.AddMapping<UserInfo>(x => x.FirstName, "FName"); excelFile.AddMapping<UserInfo>(x => x.LastName, "LName"); excelFile.AddMapping<UserInfo>(x => x.NationalCode, "NatCode"); excelFile.AddMapping<UserInfo>(x => x.EmploymentID, "EmpID"); excelFile.AddMapping<UserInfo>(x => x.WorkUnit, "WorkUnit"); excelFile.AddMapping<UserInfo>(x => x.JobOrdination, "JobOrd"); excelFile.AddMapping<UserInfo>(x => x.Profession, "Profession"); excelFile.AddMapping<UserInfo>(x => x.PostTitle, "PTitle"); excelFile.AddMapping<UserInfo>(x […]

作为Excel目标的SSIS隐藏表

正如SSIS(v 2008)中常常发生的简单事情并不那么简单, BI进入之前的情况:数据被加载到隐藏的Excel表单中的链接表中,有macros和手动调整。 之后 :仍然隐藏表单,但我们用SSISreplace了macrosfunction,并且必须在打开文件时取消链接表以消除popup窗口:“以下数据可能已经丢失: – 表格” 由于我们取消了链接表(并因此删除了连接),所以我们无法通过SSIS:Excel目标来解决隐藏的表单。 非隐藏的床单是没有问题的,是可见的。 – > 问 :怎样才能导出到隐藏的excel表单? 由于上述操作,Excel目标窗口中的工作表不再显示,Dropbox“Excel工作表的名称”。 预先感谢您的任何build议! 大号

如何在DataTable对象上执行复杂的SQL查询?

我在C#中编写一个Excel加载项,用于处理包含在不同DataTable对象中的DataTable 。 我想提供一个函数来执行对数据的SQL查询,并且能够引用来自where和sort by子句(例如,使用join)的其他表的数据。 这样的查询的一个例子是 SELECT name FROM Table1 WHERE id = Table2.id AND Table2.age > 18 这个问题是DataTable不知道其他DataTable的存在,所以(到目前为止我知道)在类中没有这样的方法。 另外,我不能使用类似于LINQ的东西,因为查询将由Excel中加载项的用户编写。 将数据复制到内存中的数据库,将每个DataTable映射到一个表是否是一个很好的解决scheme? 这将如何工作performance明智? 有一个更简单的解决scheme?

SSIS:如何检查logging是否不存在于平面文件中,但存在于数据库中

我正在准备一个SSIS作业,我正在将.CVSV文件导入到OLE DB目标(sql数据库)。 我们将每天获取这些文件。 .CSV文件包含医生的logging。 每一行代表一名医生。 下图显示了我能够如何成功地做到这一点。 到目前为止没有问题。 以下是我需要帮助的内容: 如果医生不再活跃,我们将得到相同的.CSV文件,没有他/她的logging。 如何检查logging是否不在.CSV文件中,但存在于SQL数据库中? 我需要更新SQL数据库中的医生行,并将该行的IsActive字段更新为false 。

在Access VBA中更新Excel Application.StatusBar

我目前的情况: 我正在开发embedded在excel文件(名为“Dashboard.xlsm”和访问文件“Dashboard.accdb”)中的VBA程序的顶点。 这两个文件通过VBA互相交谈,以帮助我为我的公司分析一些数据。 因为这些程序正在分发给几个经理,如果某些事情在3秒钟内没有完成,我就需要一个很好的方法来指出在Excel中运行的SQL查询的进度(因为Access在背景)。 我目前的Excel代码: Sub generateFRMPComprehensive_ButtonClick(Optional sheetName As Variant) Application.ScreenUpdating = False Dim directoryPath As String Dim cn As Object Dim rs As Object Dim strCon As String Dim strSQL, strInput As String Dim sArray As Variant Dim appAccess As Access.Application Dim directoryName oldStatusBar = Application.DisplayStatusBar Application.DisplayStatusBar = True directoryName = Application.ActiveWorkbook.Path directoryPath = […]

将Excel公式转换为SQL查询

这是Excel文件,我可以使用公式来获得TAT ORIG : =IF((X3-W3)*24<=24,(X3-W3)*24, IF(AND(WEEKDAY(W3,2)<6,WEEKDAY(X3,2)<6),(NETWORKDAYS(W3,X3)-1+MOD(X3,1)-MOD(W3,1))*24, IF(OR(WEEKDAY(W3,2)>5,WEEKDAY(X3,2)>5),(NETWORKDAYS(W3,X3)*24)))) 这是我用来在EXCEL中获得TAT ORIG价值的公式 我需要相同的公式被转换或欺骗获得现有的SQL表中相同的值,列名称tat_orig 在这个表中,我需要用SQL查询来计算tat_orig :

SQL注入漏洞与Excel导入

我一直在研究为ASP.NET WebForms应用程序生成的安全报告。 我们的代码中的某些区域已被注意到是潜在的SQL注入漏洞。 我一直在我们的代码库中查看这些领域,他们似乎都是我们正在导入excel工作簿的地方。 有问题的代码似乎是当我们正在尝试基于工作簿中的第一个工作表的名称创build一个OleDbCommand。 我们正在使用OleDbConnection对象连接数据库(Excel工作表),该对象读取数据库模式以查找第一个工作表的名称。 然后我们使用这个名字dynamic地构造一个SQL命令。 示例代码可能如下所示: String connectionString = String.Format( "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};" + "Extended Properties=\"Excel 12.0;HDR=NO;IMEX=1\"", sFullPath); OleDbConnection conn = new OleDbConnection(connectionString); conn.Open(); DataTable dbSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); string firstSheetName = dbSchema.Rows[0]["TABLE_NAME"].ToString(); using (OleDbCommand command = new OleDbCommand("SELECT * FROM [" + firstSheetName+ "]", conn)) // Offending line of code 为了修复这个SQL注入漏洞,我一直在寻找上述代码的替代品。 有没有人有任何想法,我可以执行此操作,而不被标记为SQL注入漏洞? 我不想使用ActiveX […]

Excel时间格式自动更改问题

我目前正在处理一个Excel应用程序,它可以从我的表单工作表中获取信息并将其显示到显示工作表中。 到目前为止,数据可以完美传递,除了一个小小的怪癖。 当单击“执行”时,“显示”工作表将显示数据。 这是截图: 在执行显示之前,表单工作表中的时间字段被格式化为h:mm AM / PM。 但是,当单击“显示工作表”中的“执行”时,时间格式在表单工作表中突然发生变化,如下所示: 此外,在显示表中也可以看到格式的变化。 我试图设置两个工作表的格式是相同的,结果仍然是相同的。 是一般的SQL1语句还是编码的问题? 这里是代码示例。 Public Sub QueryWorksheet(szSQL As String, rgStart As Range, wbWorkBook As String, AB As String) Dim rsData As ADODB.Recordset Dim szConnect As String On Error GoTo ErrHandler If AB = "1st" Then wbWorkBook = ActiveWorkbook.Sheets("Inner Workings").Range("B9").Text End If Application.StatusBar = "Retrieving data ….." […]