Tag: sql server

在OPENQUERY中使用UNION子句用VBA查询Oracle Linked Server

我相当新的SQL和VBA。 我正尝试使用VBA中的OPENQUERY执行以下Oracle SQL查询来查询链接服务器: with untagged_affiliates as ( select ife.entityid, 'Untagged affiliate' as TYPE_CHANGE, to_number( case when IFE.OLDVALUE is not null then EXTRACTVALUE(xmltype(IFE.OLDVALUE), '/DocumentElement/ORG_AFFILIATIONS/AFFILIATED_ORGID') else null end) as RELATED_ID, ife.analystuserid as ANALYST, ife.auditdatetime from ife.audittrail ife where IFE.ATTRIBUTEID = 314 and ife.newvalue is null and ife.oldvalue is not null and ife.AUDITDATETIME between TO_DATE('27/11/2016 00:00:00','dd/mm/yyyy hh24:mi:ss') and […]

SSIS包不会写入数据到excel目的地

我有一个简单的SSIS包,我试图从表中导出相同的一组数据到平面文件和excel目的地。 当我在本地运行时,该软件包工作正常,它创build了带有数据的文本文件和excel文件。 但是当部署到不同的服务器时,sql代理作业正常运行,并且包内部的集成服务目录中的日志表示它像9000行那样写入excel,并且还创build了一个新的excel文件,但是它没有写入任何数据(只有标题的空白)。 文本文件工作正常,它有我需要的所有数据。 SSIS包stream量: 我正在使用Sql server 2014,使用SSDT的Visual Studio 2013,并在Excel目标中使用Excel 2007。

“Microsoft Access数据库引擎”Hresult:0X80004005描述:“外部表格不在预期的格式”。

我有一个问题,而我试图从一个.xlsx文件使用SSIS 2014加载数据到表中,以前我能够加载数据,因为我收到的文件在.xls版本,但现在最近我收到文件在.xlsx文件(我以某种方式知道他们正在生成OFFICE 16的文件)。 我testing过的所有场景: 1.手动打开文件,并保存/保存为它并加载表 – 它正在工作,但不build议在日常的基础上,因为我需要自动化。 2.在DFT中,我使用的这个连接string是Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\a.xlsx;Extended Properties=Excel 12.0;HDR=Yes;IMEX=1; – 它不工作 3.尝试使用C#代码(脚本任务)打开Excel文件,我已经尝试了上面的连接,还有一些其他的版本,如改变上面提到的连接string中的扩展版本: Extended Properties=Excel 12.0; Extended Properties=Excel 12.0 xml; Extended Properties=HTML import; 然后我有一个错误说 找不到可安装的ISAM。 不明白这是什么错误! 4.我在记事本中打开了.xlsx文件,当我打开文件并按下保存button时,我发现"xl/workbook.xml"已经更改为"[Content_Types].xml" 。 那么文件就能够访问。 – 没有得到任何清晰的这种情况。 PS:我在Windows Server 2012中使用SQL Server 2014和SSIS 2014。

SQL从Excel VBA:从SQL查询中在VBA中创build临时表(以供重用)

我一直在寻找一个简单的方法来做到这一点,但我所遇到的大多数答案都是以切线而不是直接解决问题。 这里是我试图通过VBA运行的一个简化的SQL代码片段 SELECT * INTO ##Customers FROM Addresses SELECT * FROM ##Customers a LEFT JOIN PostageRate b ON a.ZipCode=b.ZipCode 然后我需要将所有这些数据放入Excel工作表中。 到目前为止,我能够执行: SELECT * FROM Addresses 这是没有临时表的第一个查询的function等同。 我使用了一个RecordSet ,然后使用CopyFromRecordSet将其放入一个表中,但是我不知道如何将这个RecordSet转换成一个表,这样我就可以查询第二个查询在哪里进行LEFT JOIN ,然后把结果RecordSet在工作表上。 当然,我试图运行的查询比这个更复杂,但是这说明了我正在努力实现的目标。 道歉,如果我错过了这个答案,但我还没有碰到它。 谢谢! 编辑:我已经研究把数据从第一个查询到工作表和对待表作为第二个查询的表。 问题如下:工作表是本地的,第二个表在数据库上。 根据这个问题 ,数据库将需要访问Excel工作表。 它不是。 有关如何通过VBA实现临时表的更多见解将不胜感激。 谢谢大家!

Excel 2010 vs Excel 2013 VBA存储过程

我有一个电子表格,从而调用SQL Server存储过程并返回数据。 在Excel 2010中工作100%,已经完成了几个月。 但是,对于Excel 2013上的某些用户,它不会返回所有数据 – 它只是通过0。 这是我的代码: Sub Button10_Click() Set con = New ADODB.Connection Set cmd = New ADODB.Command Set rs = New ADODB.RecordSet Sheets("Customer").Visible = True 'Unprotect worksheet Worksheets("Customer").Unprotect Password:="*******" ' remove and re-add auto filter Sheets("Customer").AutoFilterMode = False Sheets("Customer").Range("A4:AO4").AutoFilter Application.DisplayStatusBar = True Application.StatusBar = "Contacting SQL Server…" ' Remove any values […]

如何将SQL查询导出到Excel文件尚不存在的Excel?

我做了一个深入的search,似乎无法find答案。 我想将SQL查询导出到Excel并将其返回(Excel)到客户端应用程序或我的Web服务。 (考虑类似于FOR XML概念,而是返回二进制Excel数据) 我testing了这个(经过一个漫长的斗争),它终于正常工作: INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=D:\1.xls;', 'SELECT * FROM [Sheet1$]') SELECT TOP 5 ID, ItemName FROM dbo.MyItems 并返回给客户: SELECT * FROM OPENROWSET(BULK N'D:\1.xls', SINGLE_BLOB) rs 但是,文件D:\1.xls必须在高级中已经存在 。 我已经阅读了这个接受的答案: T-SQL:导出到新的Excel文件 4如果您不想提前创buildEXCEL文件并想要将数据导出到其中,请使用EXEC sp_makewebtask sp_makewebtask已弃用。 有没有办法,我可以做这个任务,没有一个已经存在的文件? 或者至less在导出之前dynamic创build一个合适的文件? 甚至更好: 根本不使用任何文件 ? 谢谢。

如何循环访问excel文件并使用ssis 2008获取sheetname

我想从一个非静态的sheetname(sheetname包含yyyymmdd,这将改变每个文件)的Excel文件加载到SQL数据库表中的数据。 我遵循如何通过Excel文件循环提供的解决scheme, 并使用SSIS包加载到数据库中? 但只能设法获得第一个循环工作。 当我试图将数据stream任务下的用户variables“Sheetname”分配给Excel Source时,出现错误 – CSSN_Invoice错误[连接pipe理器“testingMKBS连接”]:SSIS错误代码DTS_E_OLEDBERROR。 发生OLE DB错误。 错误代码:0x80004005。 OLE DBlogging可用。 来源:“Microsoft Access数据库引擎”Hresult:0x80004005描述:“无效的参数。” 数据stream任务错误[MKBS Sheetname [1]]:SSIS错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。 AcquireConnection方法调用连接pipe理器“testingMKBS连接”失败,错误代码0xC0202009。 在此之前可能会发布错误消息,更多关于为什么AcquireConnection方法调用失败的信息 数据stream任务工作正常时,表名被选为“表或视图”,而不是“表名或视图名称variables” 请帮忙 !

SSMS:将两个Excel工作表合并到一个SQL Server表中

我有两个Excel工作表,其中一个包含客户信息: +——-+——-+——-+——–+ | Fname | Lname | Birth | Gender | +——-+——-+——-+——–+ 第二个事务日志格式如下: +——+——–+ | Date | Amount | +——+——–+ 我的SQL表是空的,并有以下字段: +—-+————+———–+——–+——-+——-+——+ | ID | First Name | Last Name | Gender | Birth | Spent | Date | +—-+————+———–+——–+——-+——-+——+ 我正在寻找一种方法来合并两张表,并将数据传输到表中,但不能找出一个有效的方法来做到这一点。

SSIS连接pipe理器问题

我在SSIS中创build了一个项目,它将从数据库中的表中获取数据,进行数据转换,然后插入到Excel电子表格中。 它工作正常,没有问题一个星期左右,但现在我与连接pipe理器有问题。 当涉及到Excel电子表格时,我从数据库中获得了很好的数据。 我已经尝试再次执行该项目,但仍然无法正常工作。 我在SSIS中创build一个新的excel目标>一个新的连接pipe理器去文件夹的目的地,并说明我想要文件被称为。 没有什么可从Excel表单下拉的名称,当我select新它只是closures窗口。 我不确定什么是错误的权限的东西? 当我运行应用程序时,我附上了这个截图和错误 部署应用程序时出错

在SSIS 2012中通过Excel文件循环的问题(Foreach ETL)

我正在尝试处理本地计算机上目录中的Excel文件(2007 .XLSX)。 我已经列出了一些问题。 在此之前,让我解释一下我想做什么,以及我如何设置和所有我迄今为止的尝试。 build立 Microsoft Visual Studio 2012 微软Windows 7(32位) 目标 创build一个简单的ETL来遍历文件夹中的Excel文件,并将数据加载到SQL服务器表中。 目前的尝试 注意:我对编程和特别是循环非常熟悉,但是在SSIS中,我正努力从甚至读取Excel文件。 我已经尝试过,正在做以下工作: 创build一个包 创build了一个FOREACH循环容器任务 FOREACH循环任务 设置为Foreach文件枚举器 expression式将Directory指定给具有目录值('C:\ Users \ Me \ Desktop \ Excels \')的variables 在variables映射下,我在索引0处指定了一个variables 设置为使用文件和扩展名 目前,我正在查看所有文件( 。 )注:我已经使用监视debugging来确定variables是否填充。 现在,我已经尝试了一个expression式任务来构build完整的path,然后再转移到数据stream以及仅使用分配的两个variables。 数据stream(在FOREACH循环容器之后) 设置Excel文件源 设置OLE DB目标 Excel来源(在数据stream中作为第一个任务) 最初使用其中一个文件设置列(显示预览和input/输出)注:数据显示,因此连接看起来很好 Excel源连接pipe理器 DELAY VALIDATION = TRUE EXPRESSIONS = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @[User::excelFullPath] + "Extended Properties='EXCEL […]