Tag: sql server

查询将SQL Server导出到Excel

我试图导出数据在SQL Server到Excel。 这是我的代码: DECLARE @cmd VARCHAR(255) SET @cmd = 'bcp "My Select Query Here" queryout "My Excel File Path Here" -U sqluserHere -P sqlpasswordHere -c' Exec xp_cmdshell @cmd 它完美的工作,但列名也不会出口,我需要它。 我如何获得Excel中第一行的列名?

给列添加引号

使用: BCP – 存储过程 – SQL Server 2012 Management Studio 问题:由BCP创build的CSV文件不会添加引号,因此1-7会在Excel中变为7月1日。 中介修复:通过在创build字段名称时添加QuoteName ,可以将“[”和“]”添加到文本中,因此可以导出为“[1-7]”,但是我不希望将“[] “部分,而宁愿有=”columnvalue“而不是。 有没有办法做到这一点,我试图避免添加列名到BCP的select保持dynamic,因为报告是不断变化,我是build立起来,让客户端创build自己的报告。 码: USE [DATABASE] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[spPropertyListBCP] ( @tableName sysname ) AS BEGIN DECLARE @sql NVARCHAR(MAX) SET @sql = 'SELECT p.UPRN AS pUPRN QUOTENAME(p.BuildingNo) As BuildingNo, p.Street INTO ' + QUOTENAME(@tableName) + […]

如何使用asp.net c#在Web窗体应用程序中使用自动递增的Id字段将Excel数据上载到SQL Server表中?

我读了一个来自Mudassar艾哈迈德汗在一个了不起的post在http://www.aspsnippets.com/Articles/Import-Upload-CSV-file-data-to-SQL-Server-database-in-ASPNet-using-C-and -VBNet.aspx 。 它介绍了如何使用asp.net和C#将Excel文件上载到SQL Server数据库表中。 它工作得很好,但我想得到它的Id列自动递增表的工作。 我想知道如何修改代码,以允许用户上传文件,而不必指定Id列的值。 任何帮助将不胜感激。 我正在使用上述教程中提供的代码 – 我没有做任何更改。 我只是想了解如何才能将其应用于我的实际应用程序。 请让我知道,如果我需要提供更多的信息。 任何帮助将不胜感激。 谢谢,J 这里是我想要修改的代码: protected void Upload(object sender, EventArgs e) { //Upload and save the file string excelPath = Server.MapPath("~/Files/") + Path.GetFileName(FileUpload1.PostedFile.FileName); FileUpload1.SaveAs(excelPath); string conString = string.Empty; string extension = Path.GetExtension(FileUpload1.PostedFile.FileName); switch (extension) { case ".xls": //Excel 97-03 conString = ConfigurationManager.ConnectionStrings["Excel03ConString"].ConnectionString; break; case […]

运行时错误3001'参数是错误的types或超出可接受的范围…'

我有一个Excel表,并且想要更新由Excel的第12列引用的SQL Server表logging的date值(使用getdate函数)。 我的代码如下,但我看到: 运行时错误3001参数的types错误或超出可接受的范围或彼此冲突。 在SQL表中,MODIFIEDDATE字段是datetimetypes,而MAINREF字段是整数types。 Private Sub CommandButton2_Click() Dim conn2 As New ADODB.Connection Dim rst2 As New ADODB.Recordset Dim j As Integer conn2.ConnectionString = "Provider=SQLOLEDB.1;Password=abc;Persist Security Info=True;User ID=sa;Initial Catalog=logodb;Data Source=A3650;Use Procedure for Prepare=1;Auto" conn2.Open For j = 0 To 1900 If Sayfa1.Cells(j + 4, 12) = "" Then Sayfa1.Cells(j + 4, 13) = "empty" Else […]

Oracle服务器错误 – “命名pipe道提供程序,错误:40 – 无法打开连接到SQL Server”

我试图在Oracle Db中加载整个Excel文件。 excel文件的第一行是oracle db的头文件。 表名称为“Santhosh”。 当执行bulkInsert.WriteToServer(dr); 这条线。 OleDbConnection connection = new OleDbConnection(); connection.ConnectionString = ConnectionString(newlocation_filename, "Yes"); OleDbCommand command = new OleDbCommand("select * from [Sheet1$]", connection); connection.Open(); DbDataReader dr = command.ExecuteReader(); string oracleConnectionString = "Data Source=xxxxxxx.x.xxxx.com;Initial Catalog=xxxx;User ID=xxxx;Password=xxxxx"; SqlBulkCopy bulkInsert = new SqlBulkCopy(oracleConnectionString ); bulkInsert.DestinationTableName = "Santhosh"; bulkInsert.WriteToServer(dr); 我收到的错误是在build立与SQL Server的连接时发生的networking相关或实例特定的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:命名pipe道提供程序,错误:40 – 无法打开连接到SQL […]

为什么SSIS忽略从Excel源文件导入的最后一列?

我是一名商业智能开发实习生,所以请原谅我,如果我不像SQL或Microsoft BI Stack那样精通。 我试图将数据从Excel文件(.xls)导入到SQL Server数据库表中,出于某种原因,连接pipe理器完全忽略了最后一列数据。 为了使事情变得更加陌生,如果我在Excel中打开Excel文件时尝试在SSIS中设置连接pipe理器,SSIS将读取数据。 (我想我一开始是无意的,结果感到惊讶。) 以下是Excel中未打开文件的数据预览: 在SSIS中设置连接pipe理器之前,打开文件预览数据: 这两个描述文件中的数据结束,但由于某些原因,你可以看到,第一个数据预览中省略了“区域”列。 到目前为止我尝试的步骤: 使用脚本任务转换为.csv文件 使用ADO.Net源代码并读取excel数据 使用SQL命令查看数据而不是从表或表中select 更改OpenRowset属性以指定列 有关源文件的细节: 前3行数据是空的(除了图像) 第4行包含标题数据 “区域”一栏的格式与一般情况一样,每一列不包含date 如果有人有任何想法或build议,我会非常感激的反馈意见。 谢谢!

使用TSQL创buildXLS文件

我只需要使用TSQL生成XLS文件。 我正在生成基于XML的Excel 。 我正在尝试使用FOR XML,但由于输出XLS文件相当复杂,需要付出很多努力和时间。 有没有其他方法可以做到这一点? 或者,如果唯一的办法是我能做些什么来有效地做到这一点? 这不是出口数据。 我将以XML格式对用户作出响应,并将通过Excel打开XML格式(我将包含Excel知道的头文件,并将在Excel中打开结果)。用户或我不会直接访问SQL服务器,因此无法导出结果。查询将作为Web服务公开。 用户将请求数据,应用程序将使用将在Excel中打开的XML进行响应。

过滤多个事实的表格模型维度

我正在教育环境中构build一个表格模型,并且在跨多个基表过滤查找表时遇到了一些困难。 我已经阅读了关于桥接表,我相信我可以使用,但是我有十几个事实表,所以相应桥接表的数量似乎很麻烦。 我可以通过DAX来处理过滤吗? 我一直在努力学习更多的DAX,但是到目前为止我还是一个新的难题。 下面是一个我试图完成的示例场景:为了简化,我有一个名为Student的维度,其中包含每个学生的一行。 我有一个名为纪律的事实,其中包含每个学生的纪律事件logging(每个事件1个,而不是所有的学生都会有纪律事件)。 此外,我还有一张名为“评估”的事实表,其中包含考试的评估logging(每个学生完成一次评估)。 有些学生不会参加这个评估,所以他们没有相应的分数。 例如,当我在一个数据透视表中build模这个数据时,为了分析学科和评估之间的相关性,我引入了一个名为“学科事件计数”(学科事件logging计数)和“评估平均分数”(评估分数平均值)的度量。 我只想查看有两个值的学生列表,但我得到如下所示: 学生姓名——–纪律事件数——–评估平均分 学生A ——————-(空白)————————– —- 85.7 学生B ———————- 3 ————————- – – – (空白) 学生C ———————- 2 ————————- ——– 88.7 在这种情况下,我想我的结果集只包含学生C,因为他们都有一个值。 我还testing了在应用层(Excel)上处理过滤,通过过滤每列中的空白,但使用可能嵌套值和大量数据的真实数据,似乎不能很好地工作。 感谢您的任何反馈!

使用SSIS将数据从多个SQL表导出到同一个Excel文件中的多个工作表中

我已成功地使用SSIS在同一个Excel文件中生成多个Excel工作表,其中所有列都包含相同types的数据。 我能够实现这个使用这个链接的build议: https : //social.msdn.microsoft.com/Forums/en-US/6f4a5b98-6373-4f7e-8d03-0876d0b4b611/loading-data-from-multiple-tables- excel-using-ssis?forum = sqlintegrationservices,并在此链接中详细说明: https : //social.msdn.microsoft.com/Forums/en-US/2421d9aa-5347-4f24- a78b-da02eb644f5f /出口-SQL服务器表-到-多张合的Excel?论坛= sqlintegrationservices 对于我正在处理的新项目,我试图将具有不同列和数据的多个SQL表中的数据导出到同一个Excel工作簿中的多个工作表中。 由于每个表的数据都不相同,因此上例中的数据stream任务似乎不是dynamic的,以允许更改列和数据转换。 我知道这是可能的使用SQL Server导入和导出向导,但我正在看超过200个表。 而是使用SELECT TABLE_NAME FROM information_schema.tables查询将所需的表名传递给SSIS中的对象variables。 也许有一个脚本可以处理这个问题。 我是SSIS的新手,尽pipe多年来一直没有使用VB,但我愿意用它或其他方法来达到这个目的。 我错过了什么吗? 这个过程在SSIS中是可行的吗?

创buildExcel时sp_OAMethod失败; 插入到OPENROWSET('Microsoft.ACE.OLEDB.12.0'的作品

美好的一天 – 我使用https://www.simple-talk.com/sql/t-sql-programming/sql-server-excel-workbench/#first中发布的代码来编写Sql中的Excel电子表格。 这在我的本地机器上工作,但不是在我部署代码的64位服务器上。 我可以通过Sql Server Management Studio运行如下查询,并将写入电子表格: insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\Excelwork\testing2.xlsx;', 'SELECT * FROM [Sheet1$]') select ServiceStationInspectionID from [CriticalFailItemCount] 但是,如果我调用spDMOExportToExcel proc,则会在语句EXEC @hr=sp_OACreate 'Excel.Application', @objExcel OUT 。 任何人也许可以提出任何可能的帮助? 我看过很多post,有些build议文件夹权限问题; 我不知道为什么我可以直接在SSMS中写入运行查询的文件夹,但是在SSMS中运行proc时出现此问题?