≡ Menu

Chrome Developer Tools Not Working

Recently I had to replace my Windows PC at work, and as a result, had to reinstall all of my applications, including Google Chrome. When I tried to open Chrome Developer Tools using the F12 key, nothing happened. The Inspect option seen when right-clicking on a web page was grayed out. I opened the drop-down menu to try to open DevTools from there, and that option was also grayed out.

Developer Tools is disabled

Several searches indicated that one could look at Chrome Policies (accessible at chrome://policy if you’re running Chrome) to see if it was disabled there. Sure enough, that was the case.

Chrome policy page showing DevTools disabled

Chrome Policies are not editable from this page; in Windows one must edit them via the Windows Registry.

Open the Registry using regedit.exe from a Command Prompt or a shortcut in the Start Menu, and navigate to [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome] and set the key called DeveloperToolsDisabled to 0.

Registry Editor showing [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome] branch

Close the Registry Editor, go back to the Chrome Policies tab, and click the Reload button in the upper left-hand portion of the screen.

The “true” value for the DeveloperToolsDisabled Policy Name should change to “false”.

Now you should be able to open DevTools again!

I was testing an old Excel application that I had moved from one server to another and kept getting this error when running it on the new server:

VBA run-time error ORA-01013

The error ORA-01013 (“user requested cancel of current operation”) is commonly a timeout issue. What could be causing a query to timeout on one server, but not another?

In debugging the code, I found that no CommandTimeout property had been set on the Connection object.

Dim cnnRawData As ADODB.Connection
'...    
Set cnnRawData = New ADODB.Connection
cnnRawData.ConnectionString = glbConnectString
cnnRawData.Open
cnnRawData.Execute glbSetCurrentSchema

If it is not explicitly set, this property will default to 30 seconds. However, this did not explain why the query did not timeout on the old server.

The connection to the Oracle Database was being made via ODBC, so I opened the 32-bit ODBC Administrator to see if the connections had been set up differently. This is where I realized what the problem was.

On the old server, the connection configuration looked like this:

ODBC config on old server

And on the new server it looked like this:

ODBC config on new server

See the difference? (Aside from the Description field, that is!)

It’s the “Enable Query Timeout” checkbox in the Application tab. By default, when creating a new connection, it is checked. I unchecked the box and saved the connection, and the error went away.

This is not necessarily the best way to do it, however. I might want some queries to timeout, and not others. In this case the solution would be to set the CommandTimeout property for this particular VBA macro to 0:

Dim cnnRawData As ADODB.Connection
'...    
Set cnnRawData = New ADODB.Connection
cnnRawData.ConnectionString = glbConnectString
cnnRawData.CommandTimeout = 0
cnnRawData.Open
cnnRawData.Execute glbSetCurrentSchema

This would prevent timeouts on this particular connection, but not any others that might be made using the same ODBC connection.

Solving the ROW-00060 Error When Using SSIS with Oracle

I have built SSIS packages to load data from one Oracle database to another before, but never had I come across this error until recently:

“ROW-00060: Internal error: [dainsert,16] Source: Oracle Destination: Oracle Error Occurred @ after 403k records.”

Initially, I thought that some constraint had been violated on the destination data source – like an attempt at a NULL value being inserted into a NOT NULL column. I ran the package a few times and noticed that the row count was always in the neighborhood of 400k and that the package had run for hours. I thought it odd that so many rows could be inserted with no problem, and so a double- and triple-checked to make certain that the constraints on the source columns were the same as those on the destination ones.

Though there were no clear cut solutions explaining exactly why this error happens, several different people on different fora mentioned that they had overcome this particular error (at different row counts, not always 400k!) by using a connector from Attunity rather than the one that comes with the Oracle Client. Fortunately, this driver is made to work with SSIS and is distributed by Microsoft. This driver not only works with Oracle, but also with Teradata. Choose the version based on the version of SSIS you are using.

Version 2.0 for SQL 2012
Version 3.0 for SQL 2014
Version 4.0 for SQL 2016

After installing the connector into Visual Studio and restarting VS, you should be able to use it by selecting “Oracle Source” and/or “Oracle Destination” from the SSIS Toolbox.

Attunity Oracle Source in SSIS

After setting up the new source and destination connections, I was able to run the SSIS package to completion, loading over five million rows of data in less than an hour!

Dealing with the Mixed Content Over HTTPS Error

It’s a new year, and with it comes new resolve to keep current with modern web development technologies! I had begun working through the recently-added PHP Path on Code School, and almost immediately I ran into a problem wherein the submit button on a quiz page caused the page to quit working.

I reloaded the page and opened Chrome DevTools with F12 to see if any errors could be seen there. Sure enough, a couple of Mixed Content errors appeared when I tried to submit an answer again:

Mixed Content error in Chrome

I figured at first that there must be something wrong on the Code School web server. Because, of course the problem’s not on our side, right?! It then occurred to me that I run the HTTPS Everywhere extension (which I highly recommend, by the way) in Chrome. I decided to turn it off while using the Code School site to see if that would resolve the issue.

Success!

That fixed the problem! The moral of this story is that while problems with HTTPS certs or web server settings could cause this error, check first to see if HTTPS Everywhere is the source of your troubles.

Nota bene: This fix could apply not only to Chrome, but to any browser that can run this extension.

It’s hard to believe 2016 is already drawing to a close. It seems like just yesterday that I was writing about using PHP to search through my source code!

Though I wouldn’t call this an intractable problem, I did notice something annoying when looking at my Code School profile on the sidebar of this site.

Code School Profile with LI Bullet

Between the badges in the “Master Status” section, white dots had appeared! Upon inspecting these, I saw that these were the bullets on the list items that held the badges.

One article on Stack Overflow suggested that the CSS style for the tag for the unordered list that holds the list items should be include “list-style-type: none;”, but that seemed to have no effect.

After playing with the CSS a bit, I discovered that setting that property on the li tag instead fixed the problem.

Here is the corrected CSS code which updates the code from a past post:

<style>
#codeschool {
   border: 1px solid blue;
   text-align: center;
   vertical-align: middle;
}

#codeschool li {
   list-style-type: none;
}

.badge-img {
   display:block !important;
   margin-left: auto;
   margin-right: auto;
}

.pr-avatar {
   display:block;
   margin-left: auto;
   margin-right: auto;
   margin-bottom: 10px;
}
</style>

By implementing this minor change, the bullets disappeared, and the profile looks as it did originally.

Have a Merry Christmas and a Happy New Year!