Tag: oracle

Excel XML导入会为空值创build一个名为NULL的额外列

我正在使用带有DOMDocument60parsing器的Excel 2010 / VBA / XML在Oracle中生成数据报告。 我有一个空值的问题。 Oracle在xsql查询中支持null-indicator="yes" ,以确保返回的logging集中包含空字段。 如果一个字段有一个值,那么XML看起来像这样: <M_NOTCH>8</M_NOTCH> ,如果它是空的,它看起来像这样: <M_NOTCH NULL="TRUE"/> 。 我的代码调用Web服务进行查询: Dim XML_HTTP As New MSXML2.XMLHTTP60: Call XML_HTTP.Open("POST", QUERY_URL, False): Call XML_HTTP.send 并检索XML结果: Dim XML_OUTPUT As DOMDocument60: Set XML_OUTPUT = XML_HTTP.responseXML 它保存文件: XML_OUTPUT.Save (FILE_PATH) 然后从保存的文件中加载电子表格: Call DestinationWorksheet.Parent.XmlImport(FILE_PATH, Nothing, True, DestinationWorksheet.Range("A1")) 它使用XML数据填充Excel电子表格。 如果<M_NOTCH NULL="TRUE"/>格式为空,Excel会认为这是两个字段,并为M_NOTCH(此行没有数据)创build一列,另一个列为NULL,值为TRUE 。 我曾尝试使用xsql设置null-indicator =“no”,这消除了NULL列,但它有一个不同的,不可接受的问题:dynamic构build的列顺序,以便如果第一个XMLlogging代表一个Oraclelogging如果空值字段从XML中排除,并且只有在包含这些字段的logging遇到时才被添加到Excel列表列表中,在这种情况下,它们被添加到列列表的末尾。 我也尝试用<M_NOTCH NULL="TRUE"/> <M_NOTCH> </M_NOTCH>replace<M_NOTCH […]

在SQL Developer和Excel中,Oracle输出不同

我面临的是一个非常不同的问题,无法弄清楚可能是什么原因造成的。 我在SQL Developer中运行了一个来自4个不同表的连接的查询。 然后,我从结果网格复制输出并将其复制到Excel。 现在,当我在SQL Developer中查看输出并将其与Excel中的数据进行比较时, 它们看起来不一样 。 例如,对于同一行,列中有不同的值。 这怎么可能呢? 我正在使用Oracle 12C。

如何使用Oracle SQL对logging进行分组并在每组之间的第一个和最后一个logging之间进行计算?

我在Oracle 10g数据库引擎中有一个包含服务操作logging的表。 要求是计算每个服务请求的处理时间。 每个服务请求可以生成多个logging,每个logging表示过程中的一个步骤。 所以我有一个表格,内容如下: ID CREATED_ON SERVICE_OPERATION RESULT FK_SERVICE_REQUEST_ID 最后一列是服务请求的标识符。 如何计算CREATED_ON所标识的每个组中的第一个和最后一个logging的CREATED_ON之间的差异? 我现在过得好吗? SELECT FK_SERVICE_REQUEST_ID, CREATED_ON, SERVICE_OPERATION, RESULT FROM TABLE ORDER BY FK_SERVICE_REQUEST_ID, ID; 并在Excel中做一些技巧? 如果是这样,我怎样才能在Excel中实现这一点?

使用excel VBA连接到带有ADODB的Oracle数据库

我在ADODB中使用这个连接string模式 Set oConn = New ADODB.Connection oConn.ConnectionString = "User ID=USERNAME;Password=PW;Data Source=xxxxxxx.db.yyyy.com:port;Provider=OraOLEDB.Oracle; " oConn.ConnectionTimeout = 30 oConn.Open rs.CursorType = adOpenForwardOnly 当我打开连接,我会得到一个运行时错误 ORA-12504:TNS:侦听器没有给予CONNECT_DATA中的SERVICE_NAME 我也尝试使用这个连接string "ODBC;DRIVER={Oracle in OraClient11g_home2};" & _ "DBQ=" & inputHost & ";UID=" & inputUser & ";PWD=" & inputPassword & ";" & _ "HOST=" & inputHost & ";PORT=1521;DB=" & inputHost & ";" & _ "DefaultIsolationLevel=READUNCOMMITTED" 我得到运行时错误 […]

ETL将大型Excel加载到Oracle DB中

我的要求是将放在文件服务器上的大型Excel文件(包含超过160k行数据和大约150列)加载到oracle数据库表中。 它有几个约束,虽然 – 两列的位置(可以说'EmpID'和'AcctNum']可能会在Excel中变化 – 有时'EmpID'可能出现在列'A',但也可能出现在E列的其他时间。 因此数据映射必须是dynamic的。 该文件可以在一天中的任何时间,并应在文件服务器创build一小时内处理,多个文件可以在一天。 因此,我必须在oracle中创build一些批处理[如通过SQL Server作业运行dtsx]。 操作批处理的操作系统是Unix。 这里的performance必须是一个关键的挑战,所以请把它作为一个标准来提高效能。 请告诉我们如何做到这一点[最好使用免费软件/开源工具] 感谢和问候,阿尔卡

在Oracle中支持的数据types,但不在Excel VBA中

我写了一个连接到Oracle的excel vba,并从表中检索随机的'n'logging。 查询是在Oracle工作,但是当我执行vba,我得到一个错误消息“数据types不支持。运行时错误-2147467259(80004005)” 然后在我的vba代码中,我删除了数据types= Timestamp的列。 vba工作并检索logging。 我可以在我的vba查询中使用转换,但表名是dynamic的,列数与每个表不同,因此我只能使用“Select * from”。 你能帮我解决这个问题吗? 以下是使用的查询。 由于表具有时间戳列,因此不起作用 sqlText = " SELECT * FROM " & tablename & " WHERE rownum < " & countx 下面的查询工作,因为我查询数据types字符的列名称。 sqlText = " SELECT name FROM employee " WHERE rownum < " & countx 我正在使用ADO 2.8,以下是我的连接string conn.Open "PROVIDER=MSDAORA.Oracle;DATA SOURCE=" & Server & ";" & "USER […]

Excel OBDC – SQL查询

我正试图通过ODBC连接使用Excel从大型Oracle数据仓库中提取数据。 我有一个使用Access中的编辑器的查询。 我试过使用Power Query和Microsoft SQL来使用这个查询来获取这个数据到Excel中,我得到错误。 因此: 从Excel执行的SQL是否需要使用不同的语法? 它不应该仍然是甲骨文? 如何使用这个预先写好的查询来ping数据仓库并获得我所需要的? 这是我迄今为止的SQL。 我不得不改变一些表名…抱歉,如果这使得它很奇怪。 SELECT Trim([xx]) & " – " & Trim([x]) AS Part, Trim([xxx]) & " – " & Trim([xxxxx]) AS WBSE, field1, field2, IIf(IsNull([field3]),[field4],[field6]) AS SeqDate, Val([anotherfield]) AS Serial, field7, Val([ORDR_NO]) AS [Order], field8, Sum(IIf(Not (IsNull([field10])),[foo1],0)) AS CMP_TOT_HRS, Sum(IIf(Not (IsNull([foo2])),[foo3],0)) AS hrs, Sum(IIf(IsNull([foo4]),[foo5],0)) AS WIP_TOT_HRS, Sum(IIf(IsNull([foo6]),[QNDT_ACTUAL_HRS],0)) […]

Excel透视:在表格中旋转两列而不总结值

我在Excel中使用这个查询下表: SELECT "WORK_CENTER"."EQNO", "UD_DATA"."UD_COLS_ID", "WORK_CENTER"."CUSER1", "WORK_CENTER"."CUSER2", "WORK_CENTER"."CUSER3", "WORK_CENTER"."CUSER4", "WORK_CENTER"."CUSER5", "WORK_CENTER"."NUSER1", "WORK_CENTER"."NUSER2", "WORK_CENTER"."NUSER3", "WORK_CENTER"."NUSER4", "WORK_CENTER"."NUSER5", "UD_DATA"."CUSER" FROM "IQMS"."UD_DATA" "UD_DATA" FULL OUTER JOIN "IQMS"."WORK_CENTER" "WORK_CENTER" ON "UD_DATA"."PARENT_ID"="WORK_CENTER"."ID" WHERE "WORK_CENTER"."MFG_TYPE"='INJECTION' AND "UD_DATA"."UD_COLS_ID" IS NOT NULL ORDER BY "WORK_CENTER"."EQNO" 结果 我得到下面的表格: 除了UD_COLS_ID(16,17,16,17 …)和CUSER(1000,test1,2000,test2 …..)之外, 期望的结果 但是我一直在Excel中试图做的是在CUSER(前一图像的最后一列)列上旋转UD_COLS_ID列,删除现在重复的行并得到 我已经尝试使用Excel数据透视表来做到这一点,但我似乎无法阻止它汇总值,例如我有列标题,EQNO和CUSER值为UD_COLS_ID。 但它不断总结价值领域,似乎没有办法不select呢? 为此寻找修复不断引导我回到他们想要总结数据的例子。 而增加更多的行和列的值只是使其更难以遵循。 我应该怎么做呢?

使用11g客户端将Excel 2010 VBA连接到Oracle

我有一个Excelmacros,我曾经连接到Oracle 10g就好了。 我已经把这张表带到安装了Oracle 11g 64位客户端的电脑和Excel 2010,现在不能工作。 我遇到了一个错误:“Microsoft ODBC For Oracle Oracle(tm)客户端和networking组件未find” 帮帮我?

Oracle – Excel视图

我使用Oracle XE11g和Excel 2007.我已经在SQL Developer中创build了一个从多个表中select字段的视图。 目的是让Excel使用ODBC导入这个视图。 问题是这个视图没有按照我想要的方式在Excel中提供数据 如果我使用我创build的视图到Excel中,我得到这样的东西: personname – testname – time – objectname – result – date Edward – RunningTest – 15:22:01 – Speed (km/h) – 12 – 24-04-2012 Edward – RunningTest – 15:22:01 – Heart Rate – 98 – 24-04-2012 Edward – RunningTest – 15:22:01 – Power – 50 – 24-04-2012 Edward – […]