Tag: sql server

我怎样才能从一个Excel文件中得到逗号分隔的值到个人的行,这反过来将被插入到数据库?

我有一个Excel文件,其中有一列包含每行的逗号分隔的ID,每行包含另一列文本,例如 IDs Text 1 This is a row of text 2,3 Another row of text 4,5,6 More text in this row 我需要将文本插入到数据库中,以便将第一列中的每个ID分成自己的行,并为与其关联的每个ID插入文本。 数据库中的结果将是,例如 ID Text 1 This is a row of text 2 Another row of text 3 Another row of text 4 More text in this row 5 More text in this row 6 […]

打开从sql server下载的Office文件时出错

原来的办公文件没有问题(我试过word和excel),但是当我把file upload到数据库,然后从那里下载到我的电脑,并打开下载的文件,我得到警告消息“excel found内容无法读取“等等,并且与原始文件相比,文件变得更加清晰。 确切的错误信息是; “Excel在filename.xls中发现了不可读的内容。是否要恢复此工作簿的内容?如果您信任此工作簿的源,请单击”是“。 我如何上传文件: 'UPLOAD FILE Dim fi As New FileInfo(FilePath) Dim s As Stream = fi.OpenRead() Dim buffer(fi.Length) As Byte 'I put the buffer in database in varbinary(max) format s.Read(buffer, 0, fi.Length) s.Close() 我如何下载并打开文件: 'DOWNLOAD FILE Dim fi As New FileInfo(FilePath) Dim s As Stream = fi.OpenWrite() Dim buffer As Byte() = […]

从序列号生成date

我有一个客户提供date作为序列号。 他们给了我们一个Excel公式转换序列号到date,但我们使用SQL Server 2008 R2。 我想知道如果有人可以告诉我如何将这些数字转换为SQL Server中的date字段。 Excel公式: =DATE(1900+INT(F2/1000),1,MOD(F2,1000)) Excel表格: Serial # (F2 cell) | Date Value ——————————— 103078 | 3/19/2003 104077 | 3/17/2004 我需要在T-SQL中的一个语句,将采取数字和计算到正确的date结果。

无法更改SSIS Excel目标列数据types

我有一个SSIS包,从SQL Server导入数据并将其放入Excel目标文件中。 当进入ADO Source组件的高级编辑器时,我有一个字段Description ,它具有一个Unicode String的外部数据types,长度为4000,以及一个Unicode Text Stream的输出数据types(这是为了确保String长度大于255被导入到Excel中)。 现在,当我进入Excel Destination组件的高级编辑器时,数据types被固定为Unicode String ,长度为4000.它允许我对其进行更改,但在单击保存后立即恢复。 运行程序包会导致失败,因为我在“ Description字段中的数据长度大于255。我已经search了无数个关于此问题的线程,但尚未find解决scheme。 任何帮助将不胜感激。

许多SQL行合并成一个

我有一个存储过程,它连接一些表来产生一个大的结果集,然后返回到我的应用程序。 应用程序依次循环遍历结果,并结合特定ID上的行,并select每行数据以包含在新对象中。 这也许最容易解释一个例子: Inspection, Desc, Value 1, Description1, 3 1, Description2, 2 1, Description3, 5 这是代码转换成 Inspection, Description1, Description2, Description3 1, 3, 2, 5 重点是每个检验项目有一行,项目描述为标题,值为检验行和标题的单元格值。 然后将其导出到Excel。 现在的问题是:如何在SQL Server中执行此操作,例如扩展我的SP以返回更less但“更宽”的行,列数更多? 另一个复杂的情况是,一个检查可能有另一个缺乏的行,在这种情况下,解决scheme是添加一个空值或' – '。 PS这是使用Sql Server 2012。

导出数据到Excel文件从Sql Server 2014使用SSIS 2012

我使用的是Windows 8.1,Office 2013,Visual Studio 2013,SQL Server 2014和SSIS 12.0 我有一个具有OLE DB源,数据转换和Excel目的地的数据stream。 我的OLEDB来源 数据转换 我在(C:\ XX)文件夹中创build了一个Excel文件StudentInfo.xls并build立连接 一切正常,但是当我执行它时,我给了我以下错误: 错误:在DynamicExcel 0xC0209303连接pipe理器“Excel连接pipe理器”:所请求的OLE DB提供程序Microsoft.Jet.OLEDB.4.0未注册。 如果未安装64位驱动程序,请以32位模式运行程序包。 错误代码:0x00000000。 OLE DBlogging可用。 源:“Microsoft OLE DB服务组件”Hresult:0x80040154描述:“类未注册”。 错误:数据stream任务0xC020801C,Excel目标[24]:SSIS错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。 AcquireConnection方法调用连接pipe理器“Excel连接pipe理器”失败,错误代码0xC0209303。 在此之前可能会发布错误消息,更多关于为什么AcquireConnection方法调用失败的信息。 这个链接( 从64位开关包到32位 )导致我将Run64BitRuntime属性更改为False 。 更改属性后,我现在得到一组不同的错误: 错误:在DynamicExcel 0xC0202009,连接pipe理器“Excel连接pipe理器”:SSIS错误代码DTS_E_OLEDBERROR。 发生OLE DB错误。 错误代码:0x80004005。 OLE DBlogging可用。 来源:“Microsoft JET数据库引擎”Hresult:0x80004005描述:“Microsoft Jet数据库引擎无法打开该文件”,它已经由另一个用户专门打开,或者需要查看其数据的权限。 错误:数据stream任务0xC020801C,Excel目标[24]:SSIS错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。 AcquireConnection方法调用连接pipe理器“Excel连接pipe理器”失败,错误代码0xC0202009。 在此之前可能会发布错误消息,更多关于为什么AcquireConnection方法调用失败的信息。

无法将SQL Server 2012数据导出到Excel 2007:conv。 varchar to longtext(&other errors!)

我正在编写一个商业计划(周一到期),这取决于SQL Server 2012中的数据导出到Excel 2007 我有几年的SQL和C#编码经验,但这不是我的主要工作! 花了大部分时间在各种线程和尝试解决方法之后,我不知所措: 右键单击数据库>任务>导出> SQL Native Client 11.0> Excel 2003或2007>列映射适用于int,DateTime,但所有文本(varchar(255))列默认映射到longtext。 即使将其更改为varchar也无济于事。 我也尝试将源表映射到具有不同名称(从下拉列表中)的目标Excel工作表。 然后,我只能映射和导出主键( 是一个只允许在PK列上select“F1”的下拉菜单。 系统详细信息我的电脑:64位操作系统,基于x64的处理器,运行Windows 10 Pro CPU:AMD四核3.8GHz + 8GB RAM SQL SERVER :v12 – (11.0.2100) Microsoft SQL Server Management Studio 11.0.2100.60 Microsoft数据访问组件(MDAC)10.0.10586.0 Microsoft MSXML 3.0 4.0 6.0 Microsoft Internet Explorer 9.11.10586.0 Microsoft .NET Framework 4.0.30319.42000操作系统6.3.10586 错误消息/报告 (其中之一): – validation(警告)消息*警告0x80049304:数据stream任务1:警告:无法打开全局共享内存与性能DLL进行通信; 数据stream性能计数器不可用。 要解决此问题,请以pipe理员身份或系统控制台运行此程序包。 […]

如何合并两个Excel工作表

我在两张表中有一个有10000行数据的Excel文档,其中一张是产品成本,另一张是类别和其他信息。 这两个是从SQL Server自动导入的,所以我不想将它移动到Access,但仍然想要链接产品代码,以便当我将产品表作为产品名称和成本合并到同一张表上时,我可以确定我得到正确的信息。 例如: Code | name | category —————————— 1 | mouse | OEM 4 | keyboard | OEM 2 | monitor | screen Code | cost | —————————— 1 | 123 | 4 | 1234 | 2 | 1232 | 7 | 587 | 假设我的两张桌子上有这样的桌子,你可以看到下一张桌子上有一张不存在的桌子 – 我把它放在那里,因为实际上还有一些桌子,妨碍了完美的匹配。 因此,我不能把这两个表sorting到AZ,并得到这样的成本 – 正如我所说,该数据库中有超过10000个产品,我不想冒着成本的轻微转移的风险 – 与那些额外的条目其他桌子 – […]

海量数据插入到SQL Server?

我有一个Excel工作簿中的8个工作表,我想导入SQL Server数据库中的单独的表。 我希望将8个工作表中的每一个导入到一个单独的表中,理想情况下,表名与工作表选项卡名称一致,但最初,我只想将数据导入到表中,所以任意表名都适用于太。 每个工作表(和扩展表)中的数据格式是相同的(并且将是相同的),所以我正在考虑某种循环可以用来做到这一点。 数据看起来像这样: Universe Date Symbol Shares MktValue Currency SMALLCAP 6/30/2011 000360206 27763 606361.92 USD SMALLCAP 6/30/2011 000361105 99643 2699407.52 USD SMALLCAP 6/30/2011 00081T108 103305 810926.73 USD SMALLCAP 6/30/2011 000957100 57374 1339094.76 USD 在SQL中的表格格式将会/应该与以下一致: CREATE TABLE dbo.[market1] ( [Universe_ID] char(20), [AsOfDate] smalldatetime, [Symbol] nvarchar(20), [Shares] decimal(20,0), [MktValue] decimal(20,2), [Currency] char(3) ) 我打开这样做使用SQL / […]

如何安全地将Excel连接到SQL Server 2008?

我的公司希望有大约100名销售人员(分布在全国各地)能够从Excel运行存储过程并将数据返回到电子表格。 我们有SQL服务器2008年。我需要找出一个安全的方法来做到这一点。 我将在Excel中创build一个表单,用户可以按下一个命令button来根据他们select的参数刷新数据。 我怎样才能确保从Excel到SQL服务器的连接是安全的? 我如何从Excel中运行存储过程? 我发现这是非常好的信息: http : //office.microsoft.com/en-us/excel-help/connect-to-import-sql-server-data-HA010217956.aspx Windows身份validationselect此选项以使用当前用户的Windows用户名和密码。 这是最安全的方法,但会影响许多用户连接到服务器时的性能。 不过,我希望你的意见。 是的,销售代表确实有Windowslogin,但是如果他们真的会input指定的数据标准,然后将标准发送到存储过程,然后从服务器获取数据,我可以使用此解决scheme吗?