Tag: sql server

无法从Excelmacros将parameter passing给存储过程

我有一个SQL Server中的存储过程,我无法编辑。 要在SQL Server中执行,必须传递一个参数。 如果使用“1”,程序将以打印模式运行,实际程序将运行为“0”。 我写下面的代码执行没有错误和日志捕获存储过程运行成功,但在打印模式。 请告诉我需要做的改变来传递参数'0' Sub RunProc() Dim con As ADODB.Connection Dim cmd As ADODB.Command Dim rs As ADODB.Recordset Set con = New ADODB.Connection Set cmd = New ADODB.Command Set rs = New ADODB.Recordset Set objSheet = ThisWorkbook.Sheets("Queries") strServerNAme = CStr(objSheet.Cells(4, 2).Value) strDatabase = CStr(objSheet.Cells(5, 2).Value) strProcName = CStr(objSheet.Cells(6, 2).Value) ' Log into […]

自动增量/身份可能自己检测值?

我有这个表ProcessList其中TransactionID值应该是自动增加行时添加。 我可以从Excel文件中将数据导入到此表中。 是否可以对其进行编码,以便自动检测从开始增量的值? 或者至less这样不使用硬代码,因为Excel可能包含任何我不知道的行数。 我不确定SQL中的auto_increment或identity函数是否对我打算做的更好?

将sql查询结果导出为ex​​cel文件

我将查询结果保存到SQL Server 2008中的表my_table中,然后希望将表中的数据插入到Excel 2007文件中。 以下是我正在使用的查询 – INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\testing.xls;', 'SELECT Name, Date FROM [Sheet1$]') SELECT a, b FROM my_table GO 它显示以下错误 Msg 7308, Level 16, State 1, Line 1 OLE DB provider 'Microsoft.Jet.OLEDB.4.0' cannot be used for distributed queries because the provider is configured to run in single-threaded apartment mode. 我怎样才能得到这个固定的? PS Ad […]

Excel数据连接到SQL Server中的系统表

我试图连接到MSDB中的系统表 [msdb].[sysjobs], [msdb].[sysjobhistory] 从Excel,但这些表将不会显示在Excel中的数据连接向导中。 你可以请告知,如果这是不可能的,或者我没有以正确的方式连接它?

在SQL Server数据库中导入可变时间序列数据

我已经在堆栈溢出和其他地方寻找一个解决这个问题的办法,但找不到处理卷的例子。 如果我错过了在其他地方发布的解决scheme,如果有人能指引我正确的方向,我将不胜感激。 我正在尝试从45个不同的Excel工作表导入时间序列数据(每个Excel工作簿约5个)。 每个工作表都包含商品价格系列,涵盖了每种商品的几年每日价格。 原始的Excel数据每天有一行可能存在价格,每个商品合约一列,通常是月度期货合约。 因此,每个合同的积分至less是30(而不是更多),而整个表格有几千行和100多列。 我能够构build一个读取数据并使用unpivot的SSIS包,将matrix转换为具有以下列的行logging: Date, Price, Contract 但问题是,在unpivot变换我不得不手动指定每个转换的input列的目标列。 所以有45个工作表,每个工作表包含超过100列(甚至几百个)的合同,我最终会在接下来的几天里手动对这些转换进行“硬编码”。最后,这不是灵活/正如我所希望的那样可用。 附加的原始数据示例(整个Cocoa工作表包含9724行和195列) 下面是如何configuration另一种商品的unpivot。 “目标列”必须逐行手动填写。 我希望我刚刚错过了在unpivotconfiguration中的正确步骤,使这些列dynamic。 理想情况下,SSIS解决scheme可以在以后再次使用同样格式化的Excel工作簿。 不需要在服务器上运行它,因为它不是经常发生的事情,而是每年最多一次或两次。 所以我可以很容易地从VS内部手动启动它。 我试图帮助学术研究人员,否则将花费大量时间在Excel中手动清理和分析数据。

无法将存储过程结果返回给Excel

我在SQL Server中有一个存储过程,我从Excel调用,每次通过一些dynamic参数。 我知道存储过程与SQL Server中的参数一起工作(已广泛testing过),但是当我通过Excel调用过程时,我得不到任何结果。 我的连接是build立在数据==>连接,并正在工作 – 它直接撤回列名称。 它从CommandButton运行,vba如下: Private Sub CommandButton1_Click() Dim HOT As String, RM As String, Season As String, SSD As Date, SED As Date HOT = Sheets("Sheet1").Range("C2").Value RM = Sheets("Sheet1").Range("C3").Value Season = Sheets("Sheet1").Range("C4").Value If Season = "S16" Then SSD = "01/05/2016" SED = "31/10/2016" ElseIf Season = "W16" Then SSD = "01/11/2016" […]

SQL查询使用Openrowset从Excel 2016中提取数据 – 获取语法错误

这个查询给了我一个语法错误附近的文件位置的末尾的逗号,就在这之前。 谁能告诉我为什么? 我已经无济于事了 我正在使用SQL Server 2014 Express和Excel 2016。 谢谢 INSERT INTO Simply_Capitation_Lineal (uniqueid, mos, groupid, GroupName, mos2, QnxMemID, dob, age, sex, mname, CapRateID, CapTermID, CapEffDate, CapAmount, CapAffID, PCPProvid, PCPFullName, PayToAffID, PayToProvid, PayToName, CapDate, PlanID, MedicareID, Simple_County, [cover&OME], Triangle_Cover, CarrierMemberID, CheckNumber) SELECT uniqueid, mos, groupid, GroupName, mos2, QnxMemID, dob, age, sex, mname, CapRateID, CapTermID, CapEffDate, CapAmount, […]

ssis过滤出以字母开头的值

在一个SSIS项目中,我试图从一个Excel文件源中过滤出一列,其中列的值是以字母开头,后面跟着数字。 一些单元格包含更多的一个值,并不是所有单元格都遵循数据types格式。 数据stream目前如下: Excel Source > Data Conversion > OLE DB Destination 我在Excel Source之后添加了条件拆分,但是我很担心如何过滤掉不需要的logging。 以下是在数据stream结束之前不应包含的值的示例: Row Value 1 1234 2 P123 3 P1234, P456 4 rec P678 第1行应该是唯一应该stream向目的地的。 有没有办法过滤出以'P'开头,后面跟着数字的logging,而不pipe每个单元格中有多less个值? 更新:我目前正在解决FINDSTRING(值,“P”,1)> 0 || FINDSTRING(Value,“p”,1)> 0.输出阻塞了第2-4行,但第1行的值更改为0.有人知道为什么会发生这种情况吗?

从OLEDB数据导出到Excel文件时,SSIS失败

在debugging时出现在输出中: SSIS包“C:\ Users \ UserA \ Documents \ Visual Studio 2015 \ Projects \ eSSIS \ eSSIS \ Package1.dtsx”开始。 信息:0x4004300A在数据stream任务1,SSIS.Pipeline:validation阶段开始。 信息:0x4004300A在数据stream任务1,SSIS.Pipeline:validation阶段开始。 信息:0x40043006在数据stream任务1,SSIS.Pipeline:准备执行阶段开始。 信息:0x40043007在数据stream任务1,SSIS.Pipeline:预执行阶段开始。 错误:0xC0202009在数据stream任务1,Excel目标2 :SSIS错误代码DTS_E_OLEDBERROR。 发生OLE DB错误。 错误代码:0x80040E21。 OLE DBlogging可用。 来源:“Microsoft Access数据库引擎”Hresult:0x80040E21描述:“多步OLE DB操作生成的错误。检查每个OLE DB状态值,如果可用,没有工作完成。 错误:数据stream任务1,Excel目标2的 0xC002F445:设置“ShortDescription”列的绑定时发生错误。 绑定状态是“DT_NTEXT”。 错误:数据stream任务1,Excel目标2的 0xC0202025:无法创buildOLE DB访问器。 validation列元数据是否有效。 错误:0xC004701A在数据stream任务1,SSIS.Pipeline:Excel目标未能执行预执行阶段并返回错误代码0xC0202025。 信息:0x4004300B在数据stream任务1,SSIS.Pipeline:“Excel目的地”写了0行。 信息:0x40043009在数据stream任务1,SSIS.Pipeline:清理阶段开始。 任务失败:数据stream任务1警告:0x80019002在包1:SSIS警告代码DTS_W_MAXIMUMERRORCOUNTREACHED。 执行方法成功,但引发的错误数(4)达到允许的最大值(1); 导致失败。 当错误数量达到MaximumErrorCount中指定的数量时,会发生这种情况。 更改MaximumErrorCount或修复错误。 SSIS包“C:\ Users \ UserA \ Documents […]

在更改Excel文件之前,通过ADO读取一个值

几个星期前,我学到了如何通过ADO更新Excel文件。 当时的价值在改变之前已经给出了。 现在,我想添加读取当前值在同一个单元格中的过程,并将其值更改为一个variables之前更改! 目前的程序如下所示: Public Sub ChangeNum() Dim con As ADODB.Connection, rec As ADODB.Recordset Dim sqlstr As String, datasource As String Set con = New ADODB.Connection: Set rec = New ADODB.Recordset datasource = "D:\DropBox\TraderShare\TraderNum.xlsx" Dim sconnect As String sconnect = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=" & datasource & ";" & _ "Extended Properties=""Excel 12.0 Xml;HDR=YES"";" […]