Tag: sql server

复制超过100列时,excel vba copyfromrecordset变慢

我试图用下面的代码将数据从一个sql(2008 r2)表复制到excel 2003中的多个工作表 – 目前有c420000logging,每周扩展到1000个左右。 这是要求,我没有select使用访问或更高版本的Excel输出。 我一直在寻找一些时间,可以在不同的论坛上find许多关于相同或类似问题的主题,但没有足够的具体内容来满足我的要求或帮助我解决问题。 代码会发生什么事情,但大约30000行后会明显减慢。 我认为问题是有超过100列的事实 – 我通过select6或7列testing代码,并在可接受的时间段内根据需要返回完整的数据集。 代码在copyfromrecordset阶段放慢/挂起。 如果我打破了代码错误(-2147467259;对象'范围'的方法'CopyFromRecordset'失败)给出,但代码还没有实际上失败(还),即它可以继续没有重大问题。 我没有能够完成全部logging的代码,并且我已经让它运行了最长的时间(2小时),只完成了大约50% – 60%。 任何人都可以阐明我怎样才能消除这个过程中的问题,因为它磨损到一个痛苦的缓慢的步伐,或者build议我可能使用的另一种方法? 任何帮助/build议感激地赞赏 Sub DATA_Import(Frequency As String) Dim sCon As String ' building string for the connection property Dim sSQL As String ' building string for the SQL property Dim rsData As ADODB.Recordset ' reference made to latest ADO library […]

将查询结果导出为Microsoft SQL Server 2012时,未find源数据types“200”错误

我对Microsoft SQL Server非常陌生,正在使用2012 Management Studio。 当我尝试使用向导将查询结果导出到Excel文件时,出现上述错误。 我已经看到在其他地方发布这个错误的解决scheme,但不知道如何实施build议的解决scheme。 有人可以一步一步地走过这些解决scheme之一吗? 我相信我的问题是SQL Server导入和导出向导不能识别Varchar和NVarchar,我相信是我收到错误的列的数据types。 SQL Server导入和导出向导中的源types200? http://connect.microsoft.com/SQLServer/feedback/details/775897/sql-server-import-and-export-wizard-does-not-recognise-varchar-and-nvarchar# 查询: SELECT licenseEntitlement.entID, licenseEntitlement.entStartDate, entEndDate, quote.quoteId, quote.accountId, quote.clientId, quote.clientName, quote.contactName, quote.contactEmail, quote.extReference, quote.purchaseOrderNumber, quote.linkedTicket FROM licenseEntitlement INNER JOIN quote ON quote.quoteId = SUBSTRING(licenseEntitlement.entComments, 12, PATINDEX('% Created%', licenseEntitlement.entComments) – 12) inner join sophos521.dbo.computersanddeletedcomputers on computersanddeletedcomputers.name = entid and IsNumeric(computersanddeletedcomputers.name) = 1 WHERE (licenseEntitlement.entType […]

为什么excel和sql server计算不一样?

我们来看看这张照片。 即使expression式是相同的,结果也是不同的。 为什么会发生? 我必须遵循excel的结果,我应该用sql server做什么?

将多个Excel文件/工作表导入到SQL表中

我有大约100个xlsx文件,每个文件都有1-7张。 每个文件和工作表具有与我想要将所有内容导入到的表相同的列。 我可以成功地使用这个: SELECT * FROM OPENROWSET( 'Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\0.xlsx', 'SELECT * FROM [sheet1$]' ) 要么 SELECT * FROM OPENDATASOURCE( 'Microsoft.ACE.OLEDB.12.0', 'Data Source="C:\0.xlsx"; Extended properties=Excel 8.0')…Sheet1$ 但是,我怎样才能从一个文件导入多个工作表?

从VBA执行SQL Server SP – 参数错误

在从Excel / VBA调用SQL Server存储过程时,出现错误“参数types错误,超出可接受范围,或者彼此冲突”。 无法弄清楚如何从VBA调用? 存储过程参数 CREATE PROCEDURE [dbo].[sp_Productivity_GetIndividuals] ( @startDate DATE, @endDate DATE) …. VBA代码 Dim rs As New ADODB.Recordset Dim cmd As New ADODB.Command With cmd .ActiveConnection = con .CommandText = "sp_Productivity_GetIndividuals" .CommandType = adCmdStoredProc .Parameters.Append .CreateParameter("@startDate", adDate, adParamInput, , "3/1/2014") .Parameters.Append .CreateParameter("@endDate", adDate, adParamInput, , "3/31/2014") Set rs.ActiveConnection = .Execute End With

VBA获取计算机VPN状态

我试图build立到我的代码中,看看计算机是否可以访问它访问的SQL Server。 问题是,我不能只是得到networking状态,以达到计算机需要在VPN上的SQL Server(通过思科) 我已经看到了VBA中的思科API参考,但不知道如何使用它,也不能100%确定这是一个安全的testing方法 我有两个想法: 平的SQL Server(我的首选) – 我试过使用这个代码,但它只是回来与“通过”服务器是否连接 我的function: Sub test() ' SQL Server address instead of xxxxxxx If Ping("xxxxxxx") Then MsgBox "Passed", vbOKOnly Else MsgBox "Failed", vbOKOnly End If End Sub Public Function Ping(ByVal ComputerIP As String) As Boolean 'You can use also name of computer ' Return TRUE, if pin was […]

SQL Server – 如何删除一些列的行而不会中断logging的其余部分

I have it — — — — 01 A1 B1 99 01 A1 B1 98 02 A2 B2 97 02 A2 B2 96 I need this — — — — 01 A1 B1 99 98 02 A2 B2 97 96 ———— 我不能重复我将会出现在excel中的数据,我的结果应该如此。 在我的实际表格中,最后一列是表单的答复,第一列(不能重复的)是客户数据(电话,姓名等)。 这个“查询”的最终结果将填充“数据表”,并将以“xlsx”文件forms呈现。 感谢分享知识^^

通过SQL Server Management Studio上传到excel文件

我想导入国家列表的Excel文件到我的SQL Server数据库,但我得到这个错误。 什么可能是错的? validation(错误) 消息 错误0xc020201b:数据stream任务1:Destination – Countries.Inputs [Destination Input]的input列数不能为零。 (SQL Server导入和导出向导) 错误0xc004706b:数据stream任务1:“目标 – 国家/地区”未通过validation并返回validation状态“VS_ISBROKEN”。 (SQL Server导入和导出向导) 错误0xc004700c:数据stream任务1:一个或多个组件未通过validation。 (SQL Server导入和导出向导) 错误0xc0024107:数据stream任务1:任务validation期间出现错误。 (SQL Server导入和导出向导) 这是Excel中我的列表的预览: 1阿富汗2阿尔巴尼亚3阿尔及利亚4美属萨摩亚5安道尔 6安哥拉7安圭拉8安提瓜和巴布达9阿根廷10亚美尼亚 11阿鲁巴岛12澳大利亚 所以当我第一次导入临时表,然后试图复制到我的表,我得到这个错误: – Copying to [dbo].[Countries] (Error) Messages Error 0xc0202009: Data Flow Task 1: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE […]

SQL Server导入 – 奇怪的数字

我已经使用数据导入/导出工具将一些数据导入SQL服务器。 我正在从.xls工作簿导出到SQL Server 2012。 问题是,包含大(ish)号码的两个字段已经以奇怪的格式导入。 原始数据: 532842549 什么SQL Server显示(或相似) 1.8327e+006 到目前为止,我已经尝试格式化Excel中的单元格到文本,数字+一般,但似乎没有任何工作。 有没有一种方法,我可以直接在SQL Server中将此值转换回原始值? 目标字段是一个varchar(50)字段。

如何将数据从Excel发送到SQL临时表以便使用VBA进行处理?

我的团队使用基于Excelmacros的工具来进行一些严肃的数字处理。 我想将数字运算位移动到SQL,因为使用VBA由于运行时间而变得不可容忍。 用户需要能够使用Excel作为接口,并且需要能够同时运行他们的macros,因为Excel工作簿是独立的。 我一直在testing我的计划,从VBA中调用一个SQL存储过程,将数据从Excel中提取到SQL临时表中,将其压缩并发送回Excel。 如果我在SQL Management Studio中运行SP,我可以从Excel中获取数据。 这是SP: ALTER PROCEDURE sp_test_import — Add the parameters for the stored procedure here @path varchar(1000) AS BEGIN SET NOCOUNT ON; declare @SQL varchar(2500); set @SQL = ' select * from openrowset(''Microsoft.ACE.OLEDB.12.0'', ''Excel 12.0 Macro; Database='+@path+''', [Sheet1$]); ' create table [#test]( col1 varchar(15), col2 varchar(15), col3 varchar(15), col4 varchar(15) […]