Archive for the ‘Database Development’ Category
Posted by jpluimers on 2015/07/14
When installing SQL Server 2008 Service Pack 3 related updates, some don’t like compressed directories (even if the database files themselves are uncompressed).
I found this holds at least for KB2977321 and KB2285068.
For x86 systems, ensure these directories are not compressed:
C:\Program Files\Microsoft SQL Server
C:\Program Files\Microsoft SQL Server Compact Edition
For x64 systems, ensure these directories are not compressed:
C:\Program Files\Microsoft SQL Server
C:\Program Files x86\Microsoft SQL Server
C:\Program Files x86\Microsoft SQL Server Compact Edition
–jeroen
via: Can not install KB2285068 Error Code 84B40000 – Microsoft Community.
Posted in Database Development, Development, Power User, SQL Server, SQL Server 2008, SQL Server 2008 R2, Windows | 1 Comment »
Posted by jpluimers on 2015/03/12
You can’t keep track of the whole world, so every now and then I bump into something and think “boy I wish I had known about this years ago”.
The OData (Open Data Protocol) standard by Microsoft is such a thing. It allows to communicate data over the internet in a RESTful way using either JSON or AtomPub based XML, standardized by OASIS who has it’s roots in the SGML world (SGML is one of the predecessors of XML).
There is a rich Ecosystem of implementations in many platforms (including .NET, Delphi, Java, PHP, JavaScript, etc) with public reachable Example Services to test with (not surprising there is a NorthWind service).
Here are a few links of stuff I want to dig deeper into it to grasp it better: Read the rest of this entry »
Posted in Communications Development, Database Development, Development, HTTP, Internet protocol suite, OData, REST, Software Development, TCP | Leave a Comment »
Posted by jpluimers on 2015/01/21
Stefan Heymann did a great presentation Character Sets and Unicode in Firebird at fbcon11. About 90% of it is not about Firebird, but about Unicode: a highly recommended presentation.
There is also a PDF version of the same presentation for easier reading/searching.
If you like Firebird, there is a whole bunch of Firebird related presentations from various authors shared by MindTheBird.
–jeroen
Posted in Ansi, Database Development, Development, Encoding, Firebird, ISO-8859, ISO8859, Software Development, Unicode, UTF-8, UTF8 | Leave a Comment »
Posted by jpluimers on 2014/10/30
Session:
InterBase Keynote
If you need to manage distributed data over multiple locations then don’t miss the product address for InterBase! The next generation of InterBase is coming soon and will be super charged with a powerful new change tracking engine that makes managing distributed datasets a whole load easier!
Level: All
Stephen Ball – Embarcadero
Q&A:
Read the rest of this entry »
Posted in Appmethod, Database Development, Delphi, Delphi XE7, Development, InterBase, Software Development | Tagged: InterBase | 1 Comment »
Posted by jpluimers on 2014/10/01
I’ve been experimenting with the Delphi hinting directives lately to make it easier to migrate some libraries to newer versions of Delphi and newer platforms.
Hinting directives (deprecated, experimental, library and platform) were – like the $MESSAGE directive – added to Delphi 6.
Up to Delphi 5 you didn’t have any means to declare code obsolete. You had to find clever ways around it.
Warnings for hinting directives
When referring to identifiers marked with a hinting directive, you can get various warning messages that depend on the kind of identifier: unit, or other symbol. Read the rest of this entry »
Posted in Apple Pascal, Borland Pascal, DEC Pascal, Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 6, Delphi 7, Delphi 8, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Development, Encoding, FreePascal, ISO-8859, ISO8859, Java, Lazarus, MQ Message Queueing/Queuing, QC, Reflection, Software Development, Sybase, Unicode, UTF-8, UTF8 | 2 Comments »
Posted by jpluimers on 2014/04/09
Interesting read:
The C language specification describes an abstract computer, not a real one – The Old New Thing – Site Home – MSDN Blogs.
In other words: any language that merges null behaviour in the underlying storage will have a problem somwehere.
So if you want to have true nullable types, your null flag should be stored outside the underlying storage.
The .NET framework 2 and up, most database management systems and many other environment support that.
But most languages don’t support it for pointer types. So there will be portions of address spaces either inaccessible, or only accessible when skipping the null pointer checks.
Note that the thread above contains some very interesting bits, for instance this one:
Matt 28 Mar 2013 5:58 PM #
@MarkY “Dereferencing null is undefined? Cool! I thought it was guaranteed to crash, just like a false assertion or something. So crashing is the OS guarantee, not the language guarantee apparently.”
Nope. It’s not an OS guarantee either. The OS won’t ever normally allocate memory at address zero, but there’s nothing to stop you telling it to. Try doing “VirtualAlloc(1, 4096, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE)” on your pre-Windows8 machine.
In fact, this is the reason why null-dereferences in kernel mode are often exploitable as elevation of privilege attacks. The null-page is mappable and within the user-addressable region of memory, so if the kernel dereferences a null pointer, it reads attacker controllable data.
And btw, this is the reason why on Linux and Windows8+ you can’t map the null-page.
–jeroen
via: The C language specification describes an abstract computer, not a real one – The Old New Thing – Site Home – MSDN Blogs.
Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, Borland C++, Borland Pascal, C, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C++, C++ Builder, Database Development, Delphi, Development, Pascal, Quick Pascal, Software Development, Turbo Pascal, VB.NET, VB.NET 10.0, VB.NET 11.0, VB.NET 8.0, VB.NET 9.0 | Leave a Comment »
Posted by jpluimers on 2014/04/08
Posted in Access, Database Development, DB2, Development, Firebird, InterBase, MySQL, OracleDB, PostgreSQL, SQL, SQL Server, SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 7 | Leave a Comment »
Posted by jpluimers on 2014/03/31
With SQL Server, when your database is in “Recovery Pending” mode don’t just start blindingly search google, but sit down as you might be causing more damage doing so.
After sitting down, read these two posts by Paul Randal | SQLskills.com from his SQL Server Corruption series:
- Search Engine Q&A #4: Using EMERGENCY mode to access a RECOVERY PENDING or SUSPECT database.
- SQL Server EMERGENCY mode repair.
Then think about it before acting.
Though the simplest cause for “Recovery Pending” might be that a disk spin-up was slow, or a disk became full (and everything might just be dandy after the disk is available and there is enough room on it), make sure you read the above posts first before relying on the simple causes.
–jeroen
Posted in Development, Software Development, SQL Server, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014 | Tagged: EMERGENCY mode, Recovery Pending, SQL Server | Leave a Comment »