If you do any development on Microsoft platforms (and in some cases even on other platforms), sooner or later you will probably need a connection string. In this string, you can define the data source driver, server name, database or file, username, password, and sundry other options used to open a conduit to the desired data. You may find these connection strings difficult to figure out as the documentation is – how shall I put this – often rather obtuse.
Fortunately, somebody put together this great web site with all the juicy bits (pun intended) on connection strings for just about anything you are likely to run across. While it is safe to say this is not the only place you can find this info, I like this one, and it’s my blog. :-) And so without further ado, click the link. Or if you are paranoid, type this url into your browser of choice.
It used to be that having wallpaper was thought to slow down Windows startup. For Windows 7, they thought they’d try something different. Now if you have no wallpaper, just a solid color, you can wait on the Welcome screen for 30 seconds or so. Good grief.
Yes, there is a fix. From Microsoft, even.
The Welcome screen may be displayed for 30 seconds during the logon process after you set a solid color as the desktop background in Windows 7 or in Windows Server 2008 R2
Do you write scripts to interact with Active Directory? I think you’ll appreciate this diagram. It maps attribute names to the Active Directory “Users and Computers” GUI. I find this much easier than digging through AD/LDAP schema documentation.
So I’ve decided to resurrect my blog and start adding stuff again. I am amazed this place was still getting hits, though no comments for quite some time (other than spam which was thankfully blocked). I intend to maintain a technical focus, but as I am now wearing different hats as a BI analyst, the things I post may be on a somewhat different slant than what has come before – a little less sysadmin-oriented.
If you are not aware of the term “BI”, it is an acronym for Business Intelligence, and includes things like dimensional modeling, data warehousing, data ‘cubes’, OLAP, etc. Products we use include IBM Cognos, Informatica, MS SSIS, and we are looking at others like Oracle’s product line. I work in state government and our department is funded by various state agencies, so although it would be nice to settle on one toolset, that is probably not realistic. That is strictly my opinion, for the record. :P
I recently set up a Tomcat 6.x server for our Documentum web apps, which are java-based. Annoyingly, I was regularly getting error messages saying there was insufficient memory and “PermGen” space. I won’t go into great detail about this, but at a high level, a java virtual machine (jvm) has internal memory allocations that are periodically garbage-collected, i.e. no-longer-needed allocations are cleaned out and the space freed. There is a lot of debate about why and whose code is at fault, but the fact remains it doesn’t seem to work very well right now, particularly for PermGen space. Fortunately, after much gleaning and some experimentation, I found some startup parameters that seem to have resolved it for me. YMMV and all that, of course.
In Tomcat on Windows (yeah I know), go to Start > All Programs > Apache Tomcat 6.0 > Configure Tomcat > Java and put these in the Java Options textbox. For any other platform or java server, you probably already know where these go. :) MaxPermSize may need tweaking depending on the java apps you are running. If you still get errors that indicate you are running out of PermGen, try increasing MaxPermSize, but there is a limit depending on your total memory allocation. I have mine set to 1024M max memory and Tomcat wouldn’t even start if I set MaxPermSize to large values like 512M. If you need that much PermGen you will need to allocate more total memory as well. MaxPermSize=128M seems to have been enough in my case. You’ll just have to experiment – or find a better blog post.
Since I don’t do this very often, I always have to refresh my memory on the process. It is easily found via your favorite search engine, but since part of my reason for this blog is to consolidate the places I have to go to look for this kind of thing, I’m going to post it here. :)
- Document the current database permissions.
- Make sure there are no active connections to the database. Really, you need to do this.
- Check where the current files are located before you detach the database.
- Detach the database. In SQL Server Management Studio (SSMS), just right-click the database and choose Tasks > Detach… and click OK. The database will disappear from SSMS (gasp!).
- Move the transaction log file.
- Back in SSMS, right click Databases and pick Attach…, click Add, find your .mdb file and click OK.
- In the dialog on the bottom part (database details), you will see the log file has Not Found under the Message column. Fix the pathname of the log file to the new location, use the … button if you like or just type it in. The error message should disappear.
- Click OK. Your database is back.
- Check the database permissions and fix them up as needed from the documentation you created earlier.