我一直在使用下面的VBA代码使用Excel VBA运行SQL查询 (注意在这个链接upvoted答案是我使用的方法),这使我可以在Excel单元格中input一个值,并从SQL结果转储到另一列。 然而,我现在的问题是我想运行在Excel列(而不是一个单一的单元格)内的多个单元格,并希望从另一列(像一个Vlookup)从SQL状态提供给我。 我有数据,包含大约20000行,我需要检查状态列中的SQL 100万+logging的状态。 不可能一一使用链接的方法,我不知道是否在我的StrQuery中使用'" & Range("A3") & "'"我可以使用表吗? 说这是我正在使用: Dim cnn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim ConnectionString As String Dim StrQuery As String ConnectionString = "Provider=SQLOLEDB.1;Password=PASSWORD;Persist Security Info=True;User ID=USERNAME;Data Source=REMOTE_IP_ADDRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=DATABASE" cnn.Open ConnectionString cnn.CommandTimeout = […]
我需要使用导入/导出向导将大量的数据从Excel导入MS SQL Server。 然后,我会继续每周导入更多的数据到同一个表中。 坏事是我的Excel数据没有一个标识列,用作主键。 可用的唯一select是使用2个string列作为主键,这不是一个好主意。 有没有办法在导入数据时sql server添加自动标识列(整数),有什么诀窍? 我更喜欢这样的列被自动添加,因为我需要每周将大量的数据导入到同一个表中。 我testing了几次(没有成功),并在互联网上寻找解决scheme,但没有find对这个特定问题的答案。 提前致谢!
我试图从SSMS复制查询结果到Excel。 我select“复制与标题”并将其粘贴到Excel中。 我的数据集有9列。 当我将数据粘贴到excel中时,来自第9列的信息结束于第9,10和1列。看起来像这样: ABCDEFGHI -Column Heading ABCDEFGHII -Data I (blank row) 我已经查看了SSMS中的查询结果,这不是在原始数据中发生的。 当列F中的值为NULL时,不会出现列10中的附加行和信息。 到目前为止我已经尝试了以下几点: – 当我从查询中删除第9列时,复制并粘贴,第8列分布在8,9和1。 – 我还创build了一个全新的电子表格,确保清除任何格式,并尝试复制和粘贴。 – 我将查询结果保存为一个.csv文件并将其导入到Excel中。 我仍然有同样的结果。 – 我一次一个地复制列。 第八列中的信息结束于与下一行的其他列配对的两行。 因此,第8列中的每个项目成为另一个行向下偏移,直到第8列中的值比其他列更多。 如果列8中的值为NULL,则不会发生。 – 从查询结果中删除所有其他项目,以便只返回第8列和第9列的值。 第9列的所有信息都以第8列结尾,然后是空白行。 单独返回8,每个返回的项目结束在两行。 单独返回9,数据粘贴正确。 标题总是在正确的地方。 从我可以推测,第8栏的数据是这里的罪魁祸首。 数据types是允许空值的varchar(max)。 包含的信息格式如下(TCdate和时间,姓氏,名字)注释 将SSMS查询结果移动到Excel中,以便表格是我经常做的事情。 但是我从来没有遇到过这个结果。 希望我的解释足够彻底,所以有人可以告诉我如何纠正这个错误。 谢谢!
我有一个xlsx文件,4列和68k +行。 我想把所有的数据放在MSSQL服务器的表中。 我做的。 def jb_treat_attributes(dicoval): conn = pymssql.connect(dicoval['MSSQL_erver'],dicoval['MSSQL_Login'],dicoval['MSSQL_Password'],dicoval['MSSQL_Database_DELTA']) cursor = conn.cursor() cursor.execute('TRUNCATE TABLE delta.Attribute') for row in load_workbook(dicoval['path_root']+'Delta/attributes/excel.xlsx').worksheets[0].iter_rows(): row = [cell.value.strip() if cell.value is not None else '' for cell in row] cursor.execute("INSERT INTO delta.Attribute VALUES (%s,%s,%s,%s)",(row[0],row[1],row[2],row[3])) conn.commit() conn.close() 它的工作,但有340的执行时间。 它存在一个更快的方法吗?
在64位Windows系统上将Excel文件导入到SQL Server的最佳/最stream畅的解决scheme是什么? 我特别的是从ASP.NET / C#页面导入Excel 97-2003文件到SQL 2005数据库。 导入数据会要求用户使用“模板”,所以数据看起来每次都是一样的。 以前系统使用Microsoft Jet OleDb 4.0进行这种导入,但是现在它已经转移到64位环境。 我知道Jet可以运行在64位,如果IIS运行在32位模式,但在我看来不是一个选项。 那么,这里有什么64位的替代品?
我制作了一个使用Excel源代码从Excel 2003文件中提取数据并将其插入SQL Server的SSIS包。 在生产机器上执行时,会出现“productleveltoolow”错误。 Excel未安装在服务器上。 这个错误是由于这个原因吗?
我想知道是否有可能在SSRS 2005报告中重复使用Excel 2010迷你图的想法。 我想显示一个报告,显示一系列产品在3个月内的价格波动。 我可以在3个月的时间内给出数字,但很难快速区分在数字海洋中发生的各种产品。
我有一个存储过程,导入不同格式的工作簿到数据库表,对他们工作,然后删除表。 这是填充查询。 SELECT IDENTITY(INT,1,1) AS ID INTO #test101 FROM OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=WorkBook.xls',[WorkSheet$]) 一些电子表格似乎在底部创build一个空行。 我如何导入和忽略空行?
我有一个SQL Server中的视图,有点类似于下面的例子。 SELECT * FROM PEOPLE LEFT OUTER JOIN (SELECT ID FROM OTHER_TABLE WHERE SOME_FIELD = 'x' OR SOME_FIELD = 'y' OR SOME_FIELD = 'z') AS PEOPLE_TO_EXCLUDE ON PEOPLE.ID = PEOPLE_TO_EXCLUDE.ID WHERE PEOPLE_TO_EXCLUDE.ID IS null 麻烦: 我完全可以添加和修改“OR SOME_FIELD ='w'”无数次。 不过,我正在通过ODBC使用户在excel中调用这个视图。 用户需要能够根据自己的喜好来修改内部select,以匹配在当天/周/月/年/当时所限制的任何内容。 我需要这样做,让她可以轻松地限制在SOME_FIELD。 有没有人有如何做到这一点的build议? 理想情况下,我可以给她一个看法,她可以把逗号分隔的值列表,SOME_FIELD不能。 由于OTHER_TABLE中的人可能有多行,因此我不能仅限于此表。 例如,某人可能有SOME_FIELD ='x',但在SOME_FIELD ='s'的表中也有一行。 这个人应该被排除,因为他们有'x',即使他们也有''。 所以这就是为什么内部select是必要的。 谢谢你的帮助。
我需要将我的sql-server数据库导出到第x天和第y天(我的数据库中包含date的字段)之间的excel文件。 我怎么能这样做?