<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SQL Server BI Archives | DMC, Inc.</title>
	<atom:link href="https://static.dmcinfo.com/blog/tag/sql-server-bi/feed/index.xml" rel="self" type="application/rss+xml" />
	<link></link>
	<description></description>
	<lastBuildDate>Thu, 20 Aug 2026 19:31:15 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://static.dmcinfo.com/wp-content/uploads/2025/04/site-icon-150x150.png</url>
	<title>SQL Server BI Archives | DMC, Inc.</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Custom Data Logging from a Siemens PLC to Microsoft SQL Using VBScript</title>
		<link>https://static.dmcinfo.com/blog/22043/custom-data-logging-from-a-siemens-plc-to-microsoft-sql-using-vbscript/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Tue, 19 Feb 2019 15:25:54 +0000</pubDate>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[PLC]]></category>
		<category><![CDATA[Siemens PLC]]></category>
		<category><![CDATA[SQL Server BI]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/22043/custom-data-logging-from-a-siemens-plc-to-microsoft-sql-using-vbscript/</guid>

					<description><![CDATA[<p>DMC worked&#160;on a project where we wanted to log data to a local Microsoft&#160;SQL server to be able to save and display it using Microsoft Report Designer. However, the standard format of Siemens’ data log did not match up with the schema we wanted to use in our SQL table. Not all projects require a [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/22043/custom-data-logging-from-a-siemens-plc-to-microsoft-sql-using-vbscript/">Custom Data Logging from a Siemens PLC to Microsoft SQL Using VBScript</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">DMC worked&nbsp;on a project where we wanted to log data to a local <a href="/services/digital-workplace-solutions/microsoft-consulting-services">Microsoft&nbsp;</a>SQL server to be able to save and display it using Microsoft Report Designer. However, the standard format of <a href="/services/manufacturing-automation-and-intelligence/plc-programming/siemens-s7-plc-programming">Siemens’</a> data log did not match up with the schema we wanted to use in our SQL table. Not all projects require a full PC Station, there is also the option of using a Comfort Panel and logging data as a CSV file to the onboard USB drive or SD card slot. For a walkthrough of that method, visit my colleague <a href="/latest-thinking/blog/id/9677/custom-data-logging-using-a-siemens-comfort-panel-and-vb-script">Caleb Stoll’s blog</a>.&nbsp;</p>



<p class="wp-block-paragraph">We first had to set up the SQL database so that it could communicate with the PLC following the <a href="https://support.industry.siemens.com/cs/document/61886098/how-do-you-archive-tags-and-messages-in-an-sql-database-with-wincc-(tia-portal)-advanced-?dti=0&amp;lc=en-WW" type="link" id="https://support.industry.siemens.com/cs/document/61886098/how-do-you-archive-tags-and-messages-in-an-sql-database-with-wincc-(tia-portal)-advanced-?dti=0&amp;lc=en-WW">handy Siemens guide</a>.&nbsp;Once the connection to the database was set up, it was time to design the code, which consisted of four main components.</p>



<h2 id="h-1-connecting-to-the-database-nbsp" class="wp-block-heading">1. Connecting to the Database&nbsp;</h2>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">VBScript</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>Dim conn, rst, SQL_Table
On Error Resume Next

Set conn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")

'Open data source
conn.Open "Provider=MSDASQL;DSN="&amp;Database_Name&amp;";" &amp; "Trusted_Connection=yes;"

'Error handling
If Err.Number &lt;> 0 Then
               ShowSystemAlarm "Error #" &amp; Err.Number &amp; " " &amp; Err.Description
               Err.Clear
               Set conn = Nothing 
               Exit Sub
End If</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">Dim</span><span style="color: #9CDCFE"> conn, rst</span><span style="color: #D4D4D4">,</span><span style="color: #9CDCFE"> SQL_Table</span></span>
<span class="line"><span style="color: #569CD6">On Error Resume Next</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">Set </span><span style="color: #9CDCFE">conn</span><span style="color: #D4D4D4"> = </span><span style="color: #DCDCAA">CreateObject</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;ADODB.Connection&quot;</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #569CD6">Set </span><span style="color: #9CDCFE">rst</span><span style="color: #D4D4D4"> = </span><span style="color: #DCDCAA">CreateObject</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;ADODB.Recordset&quot;</span><span style="color: #D4D4D4">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">&apos;Open data source</span></span>
<span class="line"><span style="color: #D4D4D4">conn.Open </span><span style="color: #CE9178">&quot;Provider=MSDASQL;DSN=&quot;</span><span style="color: #D4D4D4">&amp;</span><span style="color: #9CDCFE">Database_Name</span><span style="color: #D4D4D4">&amp;</span><span style="color: #CE9178">&quot;;&quot;</span><span style="color: #D4D4D4"> &amp; </span><span style="color: #CE9178">&quot;Trusted_Connection=yes;&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">&apos;Error handling</span></span>
<span class="line"><span style="color: #C586C0">If</span><span style="color: #D4D4D4"> Err.</span><span style="color: #9CDCFE">Number</span><span style="color: #D4D4D4"> &lt;&gt; </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">Then</span></span>
<span class="line"><span style="color: #D4D4D4">               ShowSystemAlarm </span><span style="color: #CE9178">&quot;Error #&quot;</span><span style="color: #D4D4D4"> &amp; Err.</span><span style="color: #9CDCFE">Number</span><span style="color: #D4D4D4"> &amp; </span><span style="color: #CE9178">&quot; &quot;</span><span style="color: #D4D4D4"> &amp; Err.Description</span></span>
<span class="line"><span style="color: #D4D4D4">               Err.</span><span style="color: #DCDCAA">Clear</span></span>
<span class="line"><span style="color: #D4D4D4">               </span><span style="color: #569CD6">Set </span><span style="color: #9CDCFE">conn</span><span style="color: #D4D4D4"> =</span><span style="color: #569CD6"> Nothing</span><span style="color: #D4D4D4"> </span></span>
<span class="line"><span style="color: #D4D4D4">               </span><span style="color: #C586C0">Exit Sub</span></span>
<span class="line"><span style="color: #C586C0">End If</span></span></code></pre></div>



<p class="wp-block-paragraph">ADO stands for ActiveX Data Objects, which is Microsoft’s standard way of interacting with relational databases. We created a <strong>Connection </strong>object to connect to the database as well as a <strong>Recordset </strong>object to handle the results from our command in part 3. Here is some more information about <a href="https://learn.microsoft.com/en-us/previous-versions/sql/ado/guide/data/ado-objects-and-collections?view=sql-server-ver15&amp;viewFallbackFrom=sql-server-2017" data-type="link" data-id="https://learn.microsoft.com/en-us/previous-versions/sql/ado/guide/data/ado-objects-and-collections?view=sql-server-ver15&amp;viewFallbackFrom=sql-server-2017" target="_blank" rel="noreferrer noopener">ADO Objects</a>.</p>



<p class="wp-block-paragraph">Once the objects are created, we can open the connection to establish our link to the database. Note that we have ‘trusted_connection=yes’ in the Open command as the SQL server is configured to use Windows Authentication, as described in the Siemens guide above. For other authentication methods, the Open command may need different fields and parameters. Note that the name of the database is parameterized in the code to provide flexibility for deployment.&nbsp;</p>



<h2 id="h-2-defining-the-data-record" class="wp-block-heading">2. Defining the Data Record</h2>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">VBScript</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>'Define data record
SQL_Table = "INSERT INTO "&amp; Table_Name &amp; " VALUES ('" &amp;_
               "dbDevices_AIs_Isolator_Inlet_HEPA_Pressure.rValue', '" &amp; CStr(Date) &amp; " " &amp; CStr(Time) &amp; "', " &amp; SmartTags("dbDevices_AIs_Isolator_Inlet_HEPA_Pressure.rValue") &amp; ")," &amp;_
               "('dbDevices_AIs_Isolator_Exhaust_HEPA_Pressure_1.rValue', '" &amp; CStr(Date) &amp; " " &amp; CStr(Time) &amp; "', " &amp; SmartTags("dbDevices_AIs_Isolator_Exhaust_HEPA_Pressure_1.rValue") &amp; ")," &amp;_
               "('dbDevices_AIs_ColdWFITemp.rValue', '" &amp; CStr(Date) &amp; " " &amp; CStr(Time) &amp; "', " &amp; SmartTags("dbDevices_AIs_ColdWFITemp.rValue") &amp; ")"</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #6A9955">&apos;Define data record</span></span>
<span class="line"><span style="color: #9CDCFE">SQL_Table</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;INSERT INTO &quot;</span><span style="color: #D4D4D4">&amp;</span><span style="color: #9CDCFE"> Table_Name</span><span style="color: #D4D4D4"> &amp; </span><span style="color: #CE9178">&quot; VALUES (&apos;&quot;</span><span style="color: #D4D4D4"> &amp;</span><span style="color: #9CDCFE">_</span></span>
<span class="line"><span style="color: #D4D4D4">               </span><span style="color: #CE9178">&quot;dbDevices_AIs_Isolator_Inlet_HEPA_Pressure.rValue&apos;, &apos;&quot;</span><span style="color: #D4D4D4"> &amp; </span><span style="color: #DCDCAA">CStr</span><span style="color: #D4D4D4">(</span><span style="color: #DCDCAA">Date</span><span style="color: #D4D4D4">) &amp; </span><span style="color: #CE9178">&quot; &quot;</span><span style="color: #D4D4D4"> &amp; </span><span style="color: #DCDCAA">CStr</span><span style="color: #D4D4D4">(</span><span style="color: #DCDCAA">Time</span><span style="color: #D4D4D4">) &amp; </span><span style="color: #CE9178">&quot;&apos;, &quot;</span><span style="color: #D4D4D4"> &amp; </span><span style="color: #DCDCAA">SmartTags</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;dbDevices_AIs_Isolator_Inlet_HEPA_Pressure.rValue&quot;</span><span style="color: #D4D4D4">) &amp; </span><span style="color: #CE9178">&quot;),&quot;</span><span style="color: #D4D4D4"> &amp;</span><span style="color: #9CDCFE">_</span></span>
<span class="line"><span style="color: #D4D4D4">               </span><span style="color: #CE9178">&quot;(&apos;dbDevices_AIs_Isolator_Exhaust_HEPA_Pressure_1.rValue&apos;, &apos;&quot;</span><span style="color: #D4D4D4"> &amp; </span><span style="color: #DCDCAA">CStr</span><span style="color: #D4D4D4">(</span><span style="color: #DCDCAA">Date</span><span style="color: #D4D4D4">) &amp; </span><span style="color: #CE9178">&quot; &quot;</span><span style="color: #D4D4D4"> &amp; </span><span style="color: #DCDCAA">CStr</span><span style="color: #D4D4D4">(</span><span style="color: #DCDCAA">Time</span><span style="color: #D4D4D4">) &amp; </span><span style="color: #CE9178">&quot;&apos;, &quot;</span><span style="color: #D4D4D4"> &amp; </span><span style="color: #DCDCAA">SmartTags</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;dbDevices_AIs_Isolator_Exhaust_HEPA_Pressure_1.rValue&quot;</span><span style="color: #D4D4D4">) &amp; </span><span style="color: #CE9178">&quot;),&quot;</span><span style="color: #D4D4D4"> &amp;</span><span style="color: #9CDCFE">_</span></span>
<span class="line"><span style="color: #D4D4D4">               </span><span style="color: #CE9178">&quot;(&apos;dbDevices_AIs_ColdWFITemp.rValue&apos;, &apos;&quot;</span><span style="color: #D4D4D4"> &amp; </span><span style="color: #DCDCAA">CStr</span><span style="color: #D4D4D4">(</span><span style="color: #DCDCAA">Date</span><span style="color: #D4D4D4">) &amp; </span><span style="color: #CE9178">&quot; &quot;</span><span style="color: #D4D4D4"> &amp; </span><span style="color: #DCDCAA">CStr</span><span style="color: #D4D4D4">(</span><span style="color: #DCDCAA">Time</span><span style="color: #D4D4D4">) &amp; </span><span style="color: #CE9178">&quot;&apos;, &quot;</span><span style="color: #D4D4D4"> &amp; </span><span style="color: #DCDCAA">SmartTags</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;dbDevices_AIs_ColdWFITemp.rValue&quot;</span><span style="color: #D4D4D4">) &amp; </span><span style="color: #CE9178">&quot;)&quot;</span></span></code></pre></div>



<p class="wp-block-paragraph">The data record is defined in standard MS SQL syntax, in this case using an <strong>INSERT </strong>statement as we want to log data in the database. We’ve parameterized the table name as well in case we want to log to different tables.</p>



<p class="wp-block-paragraph">We’ve chosen several tags that we want to log each time the script is run and made sure to format the INSERT statement so that they each get logged as an individual row. Be wary about the date formatting; we found that the easiest option was to log it as a string and handle the conversion to the SQL TIME type in the backend.&nbsp;</p>



<h2 id="h-3-inserting-the-data-record" class="wp-block-heading">3. Inserting the Data Record</h2>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">VBScript</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>'Insert data record into the table 
Set rst = conn.Execute(SQL_Table)</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #6A9955">&apos;Insert data record into the table </span></span>
<span class="line"><span style="color: #569CD6">Set </span><span style="color: #9CDCFE">rst</span><span style="color: #D4D4D4"> = conn.</span><span style="color: #DCDCAA">Execute</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">SQL_Table</span><span style="color: #D4D4D4">)</span></span></code></pre></div>



<p class="wp-block-paragraph">With the connection set up and the data record defined, inserting it into the table is easy using the <strong>Execute </strong>command!</p>



<h2 id="h-4-closing-the-connection" class="wp-block-heading">4. Closing the Connection</h2>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">VBScript</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>'Close data source
conn.close

Set rst = Nothing
Set conn = Nothing</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #6A9955">&apos;Close data source</span></span>
<span class="line"><span style="color: #D4D4D4">conn.close</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">Set </span><span style="color: #9CDCFE">rst</span><span style="color: #D4D4D4"> =</span><span style="color: #569CD6"> Nothing</span></span>
<span class="line"><span style="color: #569CD6">Set </span><span style="color: #9CDCFE">conn</span><span style="color: #D4D4D4"> =</span><span style="color: #569CD6"> Nothing</span></span></code></pre></div>



<p class="wp-block-paragraph">Finally, we can close our connection and clear our connection variables.&nbsp;</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://static.dmcinfo.com/blog/22043/custom-data-logging-from-a-siemens-plc-to-microsoft-sql-using-vbscript/">Custom Data Logging from a Siemens PLC to Microsoft SQL Using VBScript</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DMC Achieves Microsoft’s Gold Cloud Productivity Competency</title>
		<link>https://static.dmcinfo.com/blog/24370/dmc-achieves-microsofts-gold-cloud-productivity-competency/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Mon, 08 May 2017 10:17:31 +0000</pubDate>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Web Application Development]]></category>
		<category><![CDATA[Office 365 BI]]></category>
		<category><![CDATA[Office 365 Migration]]></category>
		<category><![CDATA[Power BI]]></category>
		<category><![CDATA[Server Assessment]]></category>
		<category><![CDATA[SharePoint BI]]></category>
		<category><![CDATA[SQL Server BI]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/24370/dmc-achieves-microsofts-gold-cloud-productivity-competency/</guid>

					<description><![CDATA[<p>DMC recently upgraded our Silver Cloud Productivity competency&#160;to Microsoft Gold for&#160;Cloud Productivity! This certification recognizes DMC for its expertise and experience helping clients deploy Microsoft cloud and hybrid solutions.&#160;Hybrid solutions&#160;rely on a combination of cloud and&#160;existing investments in&#160;on-premises resources.&#160; This Microsoft Gold level certification makes DMC&#160;eligible for exclusive training opportunities that further the implementation expertise [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/24370/dmc-achieves-microsofts-gold-cloud-productivity-competency/">DMC Achieves Microsoft’s Gold Cloud Productivity Competency</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">DMC recently upgraded our Silver Cloud Productivity competency&nbsp;to <strong>Microsoft Gold for&nbsp;Cloud Productivity</strong>! This certification recognizes DMC for its expertise and experience helping clients deploy Microsoft cloud and hybrid solutions.&nbsp;Hybrid solutions&nbsp;rely on a combination of cloud and&nbsp;existing investments in&nbsp;on-premises resources.&nbsp;</p>

<p class="wp-block-paragraph">This Microsoft Gold level certification makes DMC&nbsp;eligible for exclusive training opportunities that further the implementation expertise we provide to our Clients. DMC also obtains access to exclusive support from Microsoft engineers, allowing us to provide world-class support services to our Clients.</p>

<h2 class="wp-block-heading">What is the Microsoft Cloud?&nbsp;</h2>

<p class="wp-block-paragraph">The <a href="https://cloud.microsoft.com/en-us/?SEMID=1&amp;WT_srch=1&amp;ocid=CLD_SEM_Google_BRAND_CON_en-US_%20microsoft%20%20cloud&amp;wt_mc_id=CLD_SEM_Google_BRAND_CON_en-US_%20microsoft%20%20cloud" target="_blank">Microsoft Cloud</a> is a secure platform that includes:</p>

<ul class="wp-block-list">
 <li>Pre-built solutions (e.g. <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-consulting-services/office-365">Office 365</a> Exchange, <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-consulting-services/sharepoint">SharePoint</a>, Skype for Business, <a href="https://static.dmcinfo.com/services/application-development/iot-solutions">Azure IoT</a>, <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-consulting-services/business-intelligence">Power BI</a>, etc.),</li>
 <li>Infrastructure (e.g. <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-consulting-services/microsoft-azure-cloud-solutions-and-services">Azure</a> virtual machines, storage, etc.)</li>
 <li>Services (e.g. <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-consulting-services/microsoft-azure-cloud-solutions-and-services">Azure</a> web apps, mobile apps, <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-consulting-services/business-intelligence">SQL</a> database, machine learning, etc.)</li>
</ul>

<p class="wp-block-paragraph">These offerings can be assembled to provide a scalable and complete collaboration suite with the potential to&nbsp;transform the way teams work. With the cloud, high-performance computing and agility help businesses expand their growth quickly.</p>

<h2 class="wp-block-heading">What does it take to&nbsp;become Gold Cloud Productivity Certified?</h2>

<p class="wp-block-paragraph">To become a Microsoft Gold Cloud Productivity certified partner, DMC had to provide evidence of its expertise in this area, which includes&nbsp;deploying a minimum of&nbsp;4,000 users of Exchange Online, SharePoint Online, Skype for Business, Yammer, and Office ProPlus.&nbsp;</p>

<p class="wp-block-paragraph">Additionally, two DMC engineers passed&nbsp;rigorous Microsoft cloud and hybrid implementation exams focused on managing identities &amp; authentication, as well as deploying Office 365 services.&nbsp;<br />
<br />
Finally, DMC had to provide references from a minimum of&nbsp;five customers&nbsp;within the previous 12 months from customers whom we provided solutions based on the products and technologies associated with Cloud Productivity.</p>

<h2 class="wp-block-heading">DMC Cloud Services</h2>

<p class="wp-block-paragraph">Check out DMC&apos;s <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-consulting-services/microsoft-azure-cloud-solutions-and-services" target="_blank">Microsoft Azure Cloud Solutions and Services</a>&nbsp;and our&nbsp;<a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-consulting-services/office-365" target="_blank">Office 365 Cloud</a>&nbsp;services. You can <a href="https://static.dmcinfo.com/contact.aspx" target="_blank">contact DMC</a> if you have questions or need help getting your Cloud Productivity initiative up and running.&nbsp;<br />
<br />
<strong><a href="/services/digital-workplace-solutions/microsoft-consulting-services" target="_blank">Learn more about DMC&apos;s Microsoft consulting services.</a></strong></p>
<p>The post <a href="https://static.dmcinfo.com/blog/24370/dmc-achieves-microsofts-gold-cloud-productivity-competency/">DMC Achieves Microsoft’s Gold Cloud Productivity Competency</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DMC Achieves Microsoft’s Silver Business Intelligence Competency</title>
		<link>https://static.dmcinfo.com/blog/27997/dmc-achieves-microsofts-silver-business-intelligence-competency/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Wed, 06 Nov 2013 09:39:46 +0000</pubDate>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Office 365 BI]]></category>
		<category><![CDATA[Power BI]]></category>
		<category><![CDATA[SharePoint BI]]></category>
		<category><![CDATA[SQL Server BI]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/27997/dmc-achieves-microsofts-silver-business-intelligence-competency/</guid>

					<description><![CDATA[<p>DMC is proud to announce that it has achieved Microsoft’s Silver Partner Status for Business Intelligence (BI) solutions. This achievement recognizes DMC’s proven ability to help customers monitor, analyze and plan business performance based on actionable business insight. DMC’s BI service offerings are geared towards helping clients identify and define high-level Key Performance Indicators (KPIs), [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/27997/dmc-achieves-microsofts-silver-business-intelligence-competency/">DMC Achieves Microsoft’s Silver Business Intelligence Competency</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">DMC is proud to announce that it has achieved Microsoft’s Silver Partner Status for <a href="/services/digital-workplace-solutions/microsoft-consulting-services/business-intelligence">Business Intelligence (BI) solutions</a>. This achievement recognizes DMC’s proven ability to help customers monitor, analyze and plan business performance based on actionable business insight. DMC’s BI service offerings are geared towards helping clients identify and define high-level Key Performance Indicators (KPIs), design visually appealing dashboards, and complete technical data integration.&nbsp;</p>



<p class="wp-block-paragraph"><strong><span style="font-size: 18px;"><strong><span style="font-size: 18px;"><a href="https://static.dmcinfo.com/services/digital-workplace-solutions/business-intelligence/" target="_blank" rel="noreferrer noopener"><strong><span style="font-size: 18px;">Learn more about DMC&#8217;s Business Intelligence (BI) service offerings</span></strong></a></span></strong></span></strong></p>



<p class="wp-block-paragraph">Equipped with exclusive training &amp; support from Microsoft on their latest software products, including Microsoft SQL Server 2012, Microsoft Power BI, and <a href="/services/digital-workplace-solutions/microsoft-consulting-services/business-intelligence">SharePoint Server 2013</a>, DMC is able to deliver enterprise solutions that set clients apart from the competition. <a href="/services/digital-workplace-solutions/microsoft-consulting-services/business-intelligence">Office 365’s BI offerings</a> and Excel 2013’s PowerPivot features can also be exploited to deliver powerful solutions for individuals and departments that lack budgets to invest in enterprise software.</p>



<p class="wp-block-paragraph">To earn a Microsoft Silver competency, partners must successfully demonstrate expertise through rigorous exams, culminating in Microsoft certifications. And to ensure the highest quality of services, Microsoft requires customer references for successful implementation and customer satisfaction.</p>



<p class="wp-block-paragraph">“This Microsoft Silver Business Intelligence competency complements our existing Microsoft Gold competencies in Application Development and Collaboration &amp; Content. It further showcases our expertise in today’s technology market and demonstrates our knowledge of Microsoft and its products,” said <strong>Rick Rietz, Director of Consulting Services</strong>. “Our plan is to accelerate our customers’ success by serving as technology advisors for their business demands.”</p>



<p class="wp-block-paragraph">“By achieving a Silver competency, organizations have proven their expertise in specific technology areas, placing them among the top 5 percent of Microsoft partners worldwide,” said <strong>Jon Roskill, corporate vice president, Worldwide Partner Group at Microsoft Corp.</strong> “When customers look for an IT partner to meet their business challenges, choosing a company that has attained Microsoft competencies is a smart move. These are highly qualified professionals with access to Microsoft technical support and product teams.”</p>



<p class="wp-block-paragraph">DMC’s BI solutions are often designed to leverage existing data and investments in the Microsoft stack of technologies. Solutions may include the use of .NET and SQL Server database tools to provide technical data integration, Microsoft Power BI tools for analysis, and <a href="/services/digital-workplace-solutions/microsoft-consulting-services/business-intelligence">SharePoint Server</a> or <a href="/services/digital-workplace-solutions/microsoft-consulting-services/office-365">Office 365</a> for presentation to end users.</p>



<p class="wp-block-paragraph">Please&nbsp;<a href="/contact">contact DMC</a> if you have questions or need help getting your Business Intelligence initiative off the ground. DMC would welcome the opportunity to help.</p>



<p class="wp-block-paragraph"><strong><a href="/services/digital-workplace-solutions/microsoft-consulting-services">Learn more about DMC&#8217;s Microsoft consulting services.</a></strong></p>
<p>The post <a href="https://static.dmcinfo.com/blog/27997/dmc-achieves-microsofts-silver-business-intelligence-competency/">DMC Achieves Microsoft’s Silver Business Intelligence Competency</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>VB Script to Save an SSRS Report as a PDF</title>
		<link>https://static.dmcinfo.com/blog/28077/vb-script-to-save-an-ssrs-report-as-a-pdf/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Wed, 02 Oct 2013 12:49:18 +0000</pubDate>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[PLC]]></category>
		<category><![CDATA[Siemens PLC]]></category>
		<category><![CDATA[Web Application Development]]></category>
		<category><![CDATA[SQL Server BI]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/28077/vb-script-to-save-an-ssrs-report-as-a-pdf/</guid>

					<description><![CDATA[<p>Reporting is almost a universal requirement for new projects coming into DMC these days. As part of an HMI we developed for a customer we also installed SQL Server Reporting Services (SSRS) on a Siemens PLC. This is used to generate reports for production batches run on that PLC. The customer desired these reports to [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/28077/vb-script-to-save-an-ssrs-report-as-a-pdf/">VB Script to Save an SSRS Report as a PDF</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">Reporting is almost a universal requirement for new projects coming into DMC these days. As part of an HMI we developed for a customer we also installed SQL Server Reporting Services (SSRS) on a <a href="/services/manufacturing-automation-and-intelligence/plc-programming/siemens-s7-plc-programming">Siemens PLC.</a> This is used to generate reports for production batches run on that PLC. The customer desired these reports to be in PDF format, which after some investigation was easy to do with SSRS. A little background on SSRS&#8230;</p>

<p class="wp-block-paragraph">SSRS is a web application that generates nice graphical reports from SQL Server data sources. It is relatively lightweight and includes its own web server so it&apos;s not necessary to install IIS. We were able to install SSRS as part of a SQL Server 2012 Express installation on Windows Embedded Standard 7 without issue.</p>

<p class="wp-block-paragraph">The SSRS reports are built in a version of Visual Studio 2010 with a limited feature set that is installed when you install SSRS. After deploying the reports and verifying their correctness, I had to figure out how to convert an online report into a PDF. Luckily it was as easy as specifying the correct URL when making a request to the SSRS web application. Generating this request and handling its response can be automated by a VB script.</p>

<p class="wp-block-paragraph">Why VB? The HMI we are using allows for button callbacks to execute custom VB script. This is a feature of many Siemens PLCs.</p>

<p class="wp-block-paragraph">The script to download an SSRS report as a PDF and save it to disk is below. Note that this script must be executed by a local administrator, and with elevated privileges, to access the SSRS report. Those wishing to use this script may add the code to their callback or execute a shell command from that callback to run the script. The executable to run VB scripts is &quot;cscript&quot;.</p>

<p class="wp-block-paragraph">The script expects one argument when executed in a shell, which is a unique identifier of the batch to generate the report for. Normally this would be entered via a web form when generating an SSRS report through a web browser, but it is possible to pass this parameter as a query string parameter and bypass this user interaction.</p>

<p class="wp-block-paragraph">The heart of the script is the &quot;urlFormatStr&quot;. You will need to change the path of the report, which comes immediately after the &quot;?&quot; parameter mark and uses &quot;%2f&quot; to encode forward slashes. For example, if your report is called &quot;MyReport&quot; and your project is called &quot;MyProject&quot;, then the path to the report would be &quot;%2fMyProject%2fMyReport&quot;.</p>

<p class="wp-block-paragraph">You may also need to change your SSRS instance name, which in my case is &quot;ReportServer_SQLEXPRESS&quot;. This is the default name when SSRS is installed as part of SQL Server Express.</p>

<p class="wp-block-paragraph">You may append any query string parameters following rs:Command=Render and rs:Format=PDF, and in my case I pass a BatchID. These parameters will be automatically mapped to any report parameters you created with the same name.</p>

<p class="wp-block-paragraph">So without any more ado, here is how to generate a PDF of an SSRS report from a Siemens PLC button callback.</p>

<p class="wp-block-paragraph">&nbsp;</p>

<div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;">
<div style="background-color: #ffffff;"><span style="margin-left: 0px !important;"><code style="color: #000000;">option explicit</code></span></div>

<div style="background-color: #f8f8f8;"><span style="margin-left: 0px !important;">&nbsp;</span></div>

<div style="background-color: #ffffff;"><span style="margin-left: 0px !important;"><code style="color: #000000;">dim batchID</code></span></div>

<div style="background-color: #f8f8f8;"><span style="margin-left: 0px !important;"><code style="color: #000000;">batchID = Wscript.Arguments(0) </code><code style="color: #008200;">&apos; this must be passed from the callback somehow</code></span></div>

<div style="background-color: #ffffff;"><span style="margin-left: 0px !important;"><code style="color: #006699; font-weight: bold;">Const</code> <code style="color: #000000;">urlFormatStr = </code><code style="color: blue;">&quot;https://static.dmcinfo.com/ReportServer_SQLEXPRESS/Pages/ReportViewer.aspx?/MyProject/MyReport&amp;rs:Command=Render&amp;rs:Format=PDF&amp;BatchID=%7B0%7D&quot;</code></span></div>

<div style="background-color: #f8f8f8;"><span style="margin-left: 0px !important;"><code style="color: #000000;">dim URL</code></span></div>

<div style="background-color: #ffffff;"><span style="margin-left: 0px !important;"><code style="color: #000000;">URL = Replace(urlFormatStr, </code><code style="color: blue;">&quot;{0}&quot;</code><code style="color: #000000;">, batchID)</code></span></div>

<div style="background-color: #f8f8f8;"><span style="margin-left: 0px !important;"><code style="color: #006699; font-weight: bold;">Const</code> <code style="color: #000000;">adTypeBinary = 1</code></span></div>

<div style="background-color: #ffffff;"><span style="margin-left: 0px !important;"><code style="color: #006699; font-weight: bold;">Const</code> <code style="color: #000000;">adSaveCreateOverWrite = 2</code></span></div>

<div style="background-color: #f8f8f8;"><span style="margin-left: 0px !important;">&nbsp;</span></div>

<div style="background-color: #ffffff;"><span style="margin-left: 0px !important;"><code style="color: #008200;">&apos; request the file over http</code></span></div>

<div style="background-color: #f8f8f8;"><span style="margin-left: 0px !important;"><code style="color: #000000;">dim http: set http = CreateObject(</code><code style="color: blue;">&quot;MSXML2.XMLHTTP&quot;</code><code style="color: #000000;">)</code></span></div>

<div style="background-color: #ffffff;"><span style="margin-left: 0px !important;"><code style="color: #000000;">http.open </code><code style="color: blue;">&quot;GET&quot;</code><code style="color: #000000;">, URL, false</code></span></div>

<div style="background-color: #f8f8f8;"><span style="margin-left: 0px !important;"><code style="color: #000000;">http.send</code></span></div>

<div style="background-color: #ffffff;"><span style="margin-left: 0px !important;">&nbsp;</span></div>

<div style="background-color: #f8f8f8;"><span style="margin-left: 0px !important;"><code style="color: #008200;">&apos; write the response text to a binary file</code></span></div>

<div style="background-color: #ffffff;"><span style="margin-left: 0px !important;"><code style="color: #000000;">dim stream: set stream = CreateObject(</code><code style="color: blue;">&quot;ADODB.Stream&quot;</code><code style="color: #000000;">)</code></span></div>

<div style="background-color: #f8f8f8;"><span style="margin-left: 0px !important;"><code style="color: #000000;">stream.type = adTypeBinary </code></span></div>

<div style="background-color: #ffffff;"><span style="margin-left: 0px !important;"><code style="color: #000000;">stream.open</code></span></div>

<div style="background-color: #f8f8f8;"><span style="margin-left: 0px !important;"><code style="color: #000000;">stream.write http.responseBody</code></span></div>

<div style="background-color: #ffffff;"><span style="margin-left: 0px !important;"><code style="color: #000000;">stream.SaveToFile Replace(</code><code style="color: blue;">&quot;BatchReport{0}.pdf&quot;</code><code style="color: #000000;">, </code><code style="color: blue;">&quot;{0}&quot;</code><code style="color: #000000;">, batchID), adSaveCreateOverWrite </code></span></div>

<div style="background-color: #f8f8f8;"><span style="margin-left: 0px !important;"><code style="color: #000000;">stream.close</code></span></div>
</div>

<p class="wp-block-paragraph"><strong><a href="/services/application-development/web-application-development">Learn more about DMC&apos;s web application development services.</a></strong></p>
<p>The post <a href="https://static.dmcinfo.com/blog/28077/vb-script-to-save-an-ssrs-report-as-a-pdf/">VB Script to Save an SSRS Report as a PDF</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Microsoft SQL Server Integration Services</title>
		<link>https://static.dmcinfo.com/blog/29963/microsoft-sql-server-integration-services/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Tue, 09 Mar 2010 15:32:15 +0000</pubDate>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[MS Visual Studio/.NET]]></category>
		<category><![CDATA[SQL Server BI]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/29963/microsoft-sql-server-integration-services/</guid>

					<description><![CDATA[<p>Recently I worked on a project where I needed to import test data from a chemical process contained in text files into a MS SQL Server database. I was about to start a C# .NET project to do this task, but I thought there has to be a quicker and easier way to do this. [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/29963/microsoft-sql-server-integration-services/">Microsoft SQL Server Integration Services</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Recently I worked on a project where I needed to import test data from a chemical process contained in text files into a MS SQL Server database. I was about to start a C# .NET project to do this task, but I thought there has to be a quicker and easier way to do this. That is how I stumbled upon SQL Server Integration Services (SSIS). SSIS can do exactly what I needed. This tool is a component included in all versions of Microsoft SQL Server 2005 (except Express and Workgroup) that can handle data migration tasks. It&#8217;s a data warehousing tool that can extract, transfer and load (ETL) data. SSIS creates &#8220;packages&#8221; that can move data from one source to a destination. SSIS packages are created using the SQL Server Business Intelligence Development Studio which is basically a visual tool based on Visual Studio. It allows developers to drag and drop and graphically program an ETL package.</p>



<p class="wp-block-paragraph">My project consisted of reading text files from a folder every hour, inserting the text file&#8217;s data into the SQL database, compressing the text files and deleting the original text files. If the folder was empty, an email was to be sent for notification. I quickly accomplished this task by using the built in tools in SSIS: File System task, Send Email task, ForEach Loop Container, OLE DB Command (to execute SQL commands). However, I did have to import a third party task to compress the text files as this is not included with SSIS out of the box. After I created, tested and deployed my package, I scheduled SQL Server Agent to execute it every hour.</p>



<p class="wp-block-paragraph">Using SSIS I easily completed this project. I would recommend using SSIS for simple ETL tasks. For more complicated tasks, a Script Task which allows VB .NET scripting is also included.</p>



<p class="wp-block-paragraph">For more information, check out <a href="https://learn.microsoft.com/en-us/sql/integration-services/sql-server-integration-services?view=sql-server-ver17&amp;redirectedfrom=MSDN" type="link" id="https://learn.microsoft.com/en-us/sql/integration-services/sql-server-integration-services?view=sql-server-ver17&amp;redirectedfrom=MSDN" target="_blank" rel="noreferrer noopener">Microsoft&#8217;s article</a> on SQL Server Integration Services.</p>
<p>The post <a href="https://static.dmcinfo.com/blog/29963/microsoft-sql-server-integration-services/">Microsoft SQL Server Integration Services</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Editing Underlying Data in MS SQL Reporting Service (SSRS)</title>
		<link>https://static.dmcinfo.com/blog/30176/editing-underlying-data-in-ms-sql-reporting-service-ssrs/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Thu, 24 Sep 2009 15:05:30 +0000</pubDate>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[MS Visual Studio/.NET]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[SQL Server BI]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/30176/editing-underlying-data-in-ms-sql-reporting-service-ssrs/</guid>

					<description><![CDATA[<p>In the past, DMC has used MS SQL Server Reporting Service (SSRS) on multiple projects as a web-based reporting engine. I personally liked using SSRS a lot because it allowed us to design quite complicated reports in very little time. At the same time, I wished it were possible to edit data viewed in the [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/30176/editing-underlying-data-in-ms-sql-reporting-service-ssrs/">Editing Underlying Data in MS SQL Reporting Service (SSRS)</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">In the past, DMC has used <a href="/services/digital-workplace-solutions/microsoft-consulting-services/business-intelligence">MS SQL Server Reporting Service (SSRS)</a> on multiple projects as a web-based reporting engine. I personally liked using SSRS a lot because it allowed us to design quite complicated reports in very little time. At the same time, I wished it were possible to edit data viewed in the report, such as editing row comments.</p>

<p class="wp-block-paragraph">While it wasn&rsquo;t possible to edit report data using the standard set of SSRS features, our team was able to find a way around this by creating a custom pop window (an ASP.NET web page) with the values that needed to be edited, and calling this popup from the SSRS report.</p>

<p class="wp-block-paragraph">More details on how we implemented this solution can be found in our white paper, <a href="https://static.dmcinfo.com/latest-thinking/white-papers/id/101/editing-data-in-sql-server-reporting-services">Editing Data in SQL Server Reporting Services</a>.</p>

<p class="wp-block-paragraph"><a href="/services/digital-workplace-solutions/microsoft-consulting-services/business-intelligence">Learn more about DMC&rsquo;s SSRS expertise and solutions.</a></p>

<p class="wp-block-paragraph">&nbsp;</p>
<p>The post <a href="https://static.dmcinfo.com/blog/30176/editing-underlying-data-in-ms-sql-reporting-service-ssrs/">Editing Underlying Data in MS SQL Reporting Service (SSRS)</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
