I’m working with a team who is building a mobile app using React Native. Everything builds nicely in our local environments (both Mac and PC) and now we’ve been working on setting up our Jenkins pipeline to create a fresh build with each merge request, and publish that out to a location that allows our dev teams to install at anytime. Everything was working great for this… until it wasn’t Continue reading “Fixed: Building Android 23 Apps with Gradle in Jenkins Pipeline”
I can take no credit for these fixes, but I left enough of a dent in my desk going through them that I felt it important enough to write them out.
I’ve really been enjoying Windows 10, even while in the Technical Preview mode. I think they’ve done a fabulous job at bridging the gap between the “traditional desktop” and the “metro interface” (the “convergence” thing). I’m also quite giddy for the day I can say “Hey Cortana! Open Visual Studio” and BAM there it is. I’ve been experiencing Windows 10 using VMWare Fusion. Unfortunately the typical “dynamic sizing” video behavior isn’t working and going to full screen mode doesn’t help either. After a little tweaking and testing, I’ve found a trick that works. Continue reading “Fixing Video Display Issues with VMWare Fusion and Windows 10”
The other day I was helping Anne (our AS/400 guru) with an SSIS task needed for a data conversion project she’s working on. The process was simple. She’d connect to a file (sort of like a database table) on the AS/400 and download the data to a local text file (space padded). She’d then take this file and upload it as a file on the AS/400 in another location, which would automatically load it up as a table for viewing/modification.
Anne had created a SSIS package for this that was quite simple. One task to download the file over an ODBC connection, and another task to upload the file via FTP to the server again. However, after configuring and running the package, the job kept failing with the following message:
501 Unknown extension in database file name.
Anne had verified the path was correct. The path in question was:
The way the AS/400 works, if memory serves, is that you specify the file you want to upload into when doing FTP uploads and the server handles the processing of the file into the table accordingly.
After a few proverbial beatings of the head against a wall ni search of details, we donned our Googlian Monk robes and did some searching. Interestingly enough, the FTP task within SSIS doesn’t function the same way. We never pulled the full debug log to figure out why, but what we did discover was two key points:
- Contrary to typical file uploads, when using the FTP task, you DO NOT specify the file that you upload to in your path.
- When doing uploads in this fashion, the AS/400 server will only allow files with a .file in their extension.
With this info, and a few more tweaks to the task, we finally got things to work. Instead of downloading our data into a .txt file, we downloaded it directly into the filename we needed:
Secondly, in the FTP task, we specifed only the path to the location that we were to upload to. We could even overwrite an existing file if it was already there on the server.
Success! There were a total of three files that needed to go through this routine, and the rest of them took on the magnitude of minutes to accomplish, as opposed to a good 2 hours for the first one. Enjoy!
Yes, you say it can’t be done. You have a table where the Id field is set to be unique and the primary key, yet SOMEHOW there are two rows in a content table that have the same Id. When you try to delete one of the rows, it says it can’t delete the row because there are duplicate unique keys. [Then why did you insert the extra one in the first place!!!!]
<Queue spontaneous head pounding against the wall />
On an interesting side note however [Yes, I tangent a lot], it appears the culprit was SQL Server Management Studio and its ability to allow you to paste data from Excel into the data view, thus inserting extra rows. Maybe it is temporarily disabling all constraints on the table behind the hood, I’m not sure, and I still need to duplicate it, but we saw an instance of this once before that seemed to have the same path.
I’m aware of the internal fields, such as row_number, that are available for queries, but I wasn’t sure how to access it in this case. After passing word on to our almighty DBA, he did some research and came back with a really simple SQL statment that does the job for us:
SET ROWCOUNT 1 DELETE FROM dbo.content WHERE content_id = 40598
Problem solved and we cleaned out a good handful of records in this manner. What the first line of the script does is restrict any operations to stop after the first row is processed. Our second statement deletes a record (which you would expect), but since our rowcount statement halts the gathering of any additional records for processing after the first one, the constraint isn’t triggered.
If you’re stuck in a duplicate Id bind, let this one do the trick for you.
This weekend I got my barebones PC kit in the mail [WOOOOOO HOOOOO!!!!!] and proceeded to assemble and put the Windows 7 RC candidate on it. Since the RC is free until next year, I figured I’d use that license a bit longer while I scrape up the flow ducats to purchase a family license to put on all the machines.
I have a brand spankin’ new motherboard, CPU, RAM, and video card. I used an existing DVD-ROM and IDE hard drive to finish off the box. All in all it is a pretty sweet way to get a new system for really cheap.
Once all the hardware was installed and I post tests were successful, I went ahead and dropped in the Windows 7 ISO I had burned, rebooted, and got giddy again for all the fun I was about to have. After the initial startup of the installer, I clicked the “Start Install” button and came across a rather odd error message:
A required CD/DVD drive device driver is missing.
And I was prompted with the option to insert a driver disc, or attach a USB device with the drivers in order to continue. After going through all the drivers on my motherboard install disc, I still had no luck. I pulled out my wireless network card and video card, and tried the install from a “bare” state and I still had the same error.
So I donned my Googlian Monk robes (via my iPod Touch) and hit the net for some help. Surprisingly enough, there were a lot of folks out there having the same problem. The problem seemed to be related to a bad burn of the DVD ISO, which would still function, but there was a critical driver or two missing. While I didn’t rule the notion out completely, I had previously done 2 successful installs of Windows 7 on two separate laptops within the previous month, so I to rule that one out for the time being.
Another solution that was frequently mentioned was to prepare a bootable USB key and simply perform the installation that way. Unfortunately I didn’t have a bootable USB key that was large enough, and my USB drive stored all of my backups, so I couldn’t reformat it to make it bootable.
So I kept digging. I pulled out my Ultimate Boot CD for Windows to run some diagnostics and see if there was some fault with the drive, but I was able to zip around without hassle. I got the XP recovery console running, tried a few things there. Still no luck. Oddly enough I didn’t think to check the Windows 7 disc through here, but thought about finding some kind of generic driver for the DVD drive and put the Googlian Monk robes on again.
I found an interesting thread that was discussing the Windows 7 install and using some generic drivers, and somebody had posted a rather unique solution, use the Vista disc to start the install process, but instead of starting the install, go to the repair installation section and use the command prompt they have available. Since all the CD/USB drivers were setup at that point, you could put your Windows 7 disc in, navigate into the sources directory, and start off the install.
Since I had a Vista disc (64bit too!) I went ahead and booted up with that. Started the repair process and went to the command prompt. Dropped in my Windows 7 disc, and went to navigate to the folder, but it didn’t exist! Instead, there was a single README.TXT file which contained the following message:
This disc contains a “UDF” file system and requires an operating system that supports the ISO-13346 “UDF” file system specification.
Now THAT was something new and perplexing. Quite honestly I had never even heard of any of that before [My Geek Cred: -2]. A couple brief searches on the issue didn’t bring up anything too revealing, and it just may be that my DVD drive is a little too old (circa 2000) to understand the format. I’ll have to look for some firmware updates to see if I can resolve that one. How the disc actually booted up is still a mystery to me, but I’ll wager that the bootable portion of the DVD disc, which includes the initial RAM disk creation and setup environment for Windows 7 is being done in a generic format, wheras the rest of the files used for installation are locked down in this UDF format.
However, at this point in the game it dawned on me that I had all my piece in place, albeit fractured. I went over to my wife’s laptop really quick, and copied all the files from my Windows 7 disc into a new folder on my USB portable drive. I then went back to my new machine, booted it up with the Windows 7 disc, but went to repair mode and jumped to the command prompt. At that point I had USB drivers installed, so I went over to my portable drive, jumped into the sources directory in my Windows 7 folder, and setup worked like a charm! Success!!!
So the bottom line is this. If you’re having issues installing Windows 7 off of a DVD since it is missing CD/DVD drivers and you don’t have a bootable USB drive, find yourself a way of booting up the machine so that USB drivers are installed (even use the existing install disc). Once the initial environment is setup, you can easily run the installer from a standard USB portable hard drive that has the setup files.