SQL Server Devs Clamor for XP Support in Denali

When I first glanced at the proposed list of OSes to be supported in the next version of SQL Server, code-name Denali, I actually thought: "Windows XP isn't supported? That's odd. There are a lot of XP machines still out there."

My immediate second thought was: "No, that's cool. It's getting too long in the tooth. Time to move on." But it appears a lot of SQL Server developers agreed with thought No. 1. Yes, the nearly 10-year-old OS still has its proponents in the dev field (it's hard to believe XP was actually released to manufacturers before we all knew about Osama bin Laden).

Case in point was this reader's response to the blog announcing Microsoft's supported OSes and upgrade plans:

"Sadly, that Windows XP is not supported. I know many developers use SQL Server Express + SSMS on their Windows XP corporate workstations. And they do not plan to move to Windows 7 soon. I do understand, that life is going on, but still ... I wish it would support XP."

There were many more posts like that one, leading to a good deal of give-and-take among the readers on both sides of the issue. Two readers reported companies they worked at (or recently worked at) still had more than 10,000 XP machines!

Comments like those made me gravitate back to my thought No. 1. After all, Wikipedia says, Microsoft continued to sell XP through certain channels up until the beginning of 2010. And the Denali CTP was released later that year. Isn't it a bit premature to abandon the vast XP user base in introducing an important new SQL Server release when XP hasn't even been officially expired for much more than a year and half? Granted, I don't know when Denali will be officially released, but a lot of people think it might be this year.

But other readers make good points, too. Like this:

Good list and I support it. No reason to go backwards anymore. Those companies that still run XP on every desktop and mandate it, or have SQL2K, aren't going to run to Denali. If they think they need it, they'll make exceptions for the people that need it.

Any IT professional that wants to work on Denali, but has XP at work. Either invest in a machine that you can run it on at home or learn to set up a VM, but there is no reason for MS to invest time or testing efforts into supporting XP at this point.

Those kinds of comments made me reconsider thought No. 2.

Ah, I'm just too darned wishy-washy. Decide for me. Which should it be? Comment here or drop me a line.

Posted by David Ramel on 07/07/2011 at 1:15 PM10 comments

NoSQL Ascension Highlights Developer Survey

I found it interesting that Evans Data chose to lead with the growth of NoSQL in the enterprise when it began hawking its latest North American Development Survey today.

Not programming languages used, mobile development or even the cloud. But rather, the ascension of NoSQL. What does this prove? It's the data, stupid.

The survey reported that 56 percent of respondents were using some flavor of NoSQL and 63 percent planned on doing so in the next two years. The reason, Evans Data, said, was scale. Massive amounts of data become awkward to handle in traditional relational database schemas. And these huge depositories, spawned on explosively growing Web sites such as Google and Facebook, are becoming more commonplace in the enterprise.

"The advent of Big Data is driving adoption of NoSQL, and this is especially true in the corporate enterprise," the company said in a news release.  "While it may have got its start on the Web with innovations like Big Table and MapReduce, it's the enterprise that can most benefit from NoSQL and developers realize this across all geographical regions."

In fact, Evans Data said enterprise adoption dwarfed that of the "general developer population," where only 43 percent of respondents expected to use NoSQL.

Microsoft has to be paying attention to this. They may have been late to the Web, mobile, etc., but the enterprise has always been their stronghold, in SQL Server and many other technologies. If they weren't worried before, they have to be now.

For an interesting, alternative take on the reasons for the growth of the NoSQL movement, read this blog by database expert Andrew J. Brust on the Redmond Developer News site.

Then chime in with your own thoughts about this upsurge in popularity. Comment here or send me an e-mail.

Posted by David Ramel on 06/30/2011 at 1:15 PM0 comments

PowerShell vs. SQL Server Management Studio

When I (along with many other people) had a lot of trouble trying to install SQL Server Management Studio in an attempt to switch from the SQL Server 2008 R2 evaluation to the free Express version, I became quite frustrated and began looking at free alternatives to SSMS, including PowerShell.

When I wrote about this, one reader replied that my post was a total disappointment because PowerShell, not having a graphical user interface (GUI), was not a suitable candidate to replace SSMS. I found this comment puzzling, as I included a screenshot of the PowerShell Integrated Scripting Environment (ISE), which looks pretty darned GUIish to me.

TechNet seems to agree with me, as it says, "In Windows PowerShell ISE, you can run commands and write, test, and debug scripts in a single Windows-based graphic user interface [emphasis mine] with multiline editing, tab completion, syntax coloring, selective execution, context-sensitive help, and support for right-to-left languages."

But hey, I'll give the reader the benefit of the doubt. Maybe "graphic user interface" is different from "graphical user interface" and PowerShell doesn't qualify as an official GUI because you often have to enter scripting commands, or something.

Anyway, I pointed the reader to PowerGUI, which I hope to explore further.

In that same post, I commented that SSMS has some things that PowerShell doesn't, such as an object explorer. PowerShell expert Chad Miller commented (on VisualStudioMagazine.com another site hosting my blog) that PowerShell is quite extensible and allows you to build your own object explorer and directed me to the SQL ISE, part of the SQL Server PowerShell Extensions CodePlex project (SQLPSX).

So I checked it out and learned that "SQLPSX consists of 13 modules with 163 advanced functions, 2 cmdlets and 7 scripts for working with ADO.NET, SMO, Agent, RMO, SSIS, SQL script files, PBM, Oracle and MySQL and using Powershell ISE as a SQL and Oracle query tool. In addition, optional backend databases and SQL Server Reporting Services 2008 reports are provided with SQLServer and PBM modules."

Impressive, but I wondered about the DIY object explorer. I downloaded and installed all the requisite files and modules and an "Add-ons" item was added to the top menu. Clicking on that brings up a "SQLIse" menu item with a dozen submenus, one of which is "Object Browser." That indeed does bring up something similar to the SSMS object browser, as a new window, as shown in Fig. 1, exploring the Northwind database:

[Click on image for larger view.]
Figure 1. Exploring the Northwind database with the SQLIse object explorer.

It doesn't have the exact same capabilities as its SSMS counterpart (such as right-click functionality to run queries, and so on), but it certainly lets you explore the database tables.

Being a PowerShell noob, I wanted to explore more database-related functionality. I asked PowerShell MVP Doug Finke what he thought about the usefulness of PowerShell for database developers. "PowerShell is useful for devs in many ways," he replied. As a simple example, he pointed to the Invoke-SqlCommand, from Lee Holmes of the PowerShell team, and author of Windows PowerShell Cookbook.

Finke provided the following command example:

Invoke-SqlCommand -Sql "Select * from pubs" | Export-Csv  -NoTypeInformation c:\pubs.csv; 
Invoke-Item c:\pubs.csv

"This extracts the data, puts it in a comma-separated-format file and then uses Invoke-Item to launch Excel on that file," Finke said. I tried his example, and sure enough, the result is shown in Fig 2.

[Click on image for larger view.]
Figure 2. Using PowerShell to access the Pubs database and export its contents into a .csv file.

Finke continued: "[Here] is a post I did doing more tricks with Excel and pivot tables. While the data in the post comes from a csv, it could come from SQL Server or any other data source. This is a key benefit to the object pipeline."

Finke also listed more benefits to database developers offered by PowerShell:

  1. Testing Web services using PowerShell's New-WebServiceProxy cmdlet.
  2. Microsoft Nuget has a PowerShell console that resides inside Visual Studio 2010 and makes using it more productive.
  3. A developer can load and test .NET DLLs at the command line or in scripts.
  4. PowerShell can be used to automate common, everyday developer tasks including source control builds.

I was curious about item No. 3 in that list, so I gave it a try. Sure enough, using the .NET Math DLL is as simple as calling it in brackets and then using :: to use one of its static methods, in this case the square root function. I assigned the value produced by the function to $v and called for the square root of 49, like this:

PS  C:\Users\Ramel\Desktop> $v = [MATH]::Sqrt(49)

Then, to see the value returned, you can just enter the variable at the prompt: $t.

That produces the result: 7

You can also make and access your own DLLs. For example, in Visual Studio, I created a Class Library project, connected to the Pubs database and built a Pubs DLL, which I accessed with this command:

PS  C:\Users\Ramel\Desktop> [System.Reflection.Assembly]::LoadFile("C:\pathtodll\Pubs.dll") 

I then created a new object -- a Pubs DataContext -- and assigned to a variable called $ctx. Just by typing in the variable and hitting enter, you could see the structure of the object:

authors                 : {White, Green, Carson, O'Leary...}
titles                 : {BU1032, BU1111, BU2075, BU7832...}

Once you see the structure, you can call up all author records, for example, like this:

PS C:\Users\Ramel\Desktop> $ctx.authors
au_id        : 172-32-1176
au_lname     : White
au_fname     : Johnson
phone        : 408 496-7223
address      : 10932 Bigge Rd.
city         : Menlo Park
state        : CA
zip          : 94025
contract     : True
titleauthors : {172-32-1176}

You can then run SQL queries against the DataContext in a number of different ways, including the following, which finds authors who live in Utah:

PS C:\Users\Ramel\Desktop> $ctx.authors | where-object  {$_.state -eq "UT" }
au_id        : 899-46-2035
au_lname     : Ringer
au_fname     : Anne
phone        : 801 826-0752
address      : 67 Seventh Av.
city         : Salt Lake City
state        : UT
zip          : 84152
contract     : True
titleauthors : {899-46-2035, 899-46-2035}

So even though I've just scratched the surface of what you can do in PowerShell, I can see that while it doesn't duplicate the complete functionality of SSMS, it can duplicate a lot of it. And the extensibility, .NET compatibility and many other features make it a worthwhile consideration.

How do you use PowerShell in your database development? Comment below or e-mail dramel@1105media.com.

Posted by David Ramel on 06/24/2011 at 1:15 PM1 comments

SQL Server 'Juneau' Developer Tools Needs Testers

You can be among the first to get your hands on the cool new 'Juneau' database development tools if you're willing to test them and provide feedback to Microsoft.

The company is now courting TSQL developers to join the SQL Server Developer Tools Advisory Program. Those chosen to participate will get early access to the package, which features a beefed-up code editor integrated with Visual Studio, a new table designer and a single project type for multiple platforms, among many other improvements.

Earlier, I wrote about the company's similar program for "Denali," code-name for the next version of SQL Server, which will feature the Juneau tools.

The new Juneau-focused advisory program was announced in a blog by Microsoft's Tiffena Kou last week.

Kou said the improved TSQL editor, which will feature IntelliSense, code navigation and language support similar to that of C# and Visual Basic, is just one of the new features of Juneau that has been publicly announced, with more improvements to be revealed.

One new feature was revealed at the Tech-Ed conference in Atlanta last week in a keynote address and demonstrated further in a session hosted by Bill Gibson and Mark Wilson-Thomas. "It's a new local database runtime, which is a new feature in SQL Server Denali," explained Gibson, a principal PM architect at Microsoft, in a session titled "Database Development with SQL Server Developer Tools codename 'Juneau.'"

He described it as "a local database that you can run on your desktop, and it's a single-user, single-instance, on-demand activated version of SQL Server. An incredibly cool, lightweight, test-and-debug feature, if you will." The new feature was revealed when the duo did an F5 project build in Visual Studio and chose the database runtime as the deployment target. Gibson said the new runtime can be used for applications, but the main use for database developers will be for testing and debugging.

One cool aspect of the SQL Server Developer Tools (SSDT) demo was how Gibson and Wilson-Thomas worked while connected to a database via a new SQL Server node in the Server Explorer window on the left-hand side of the Visual Studio IDE. Right-clicking on a table in the node tree opened a new query window in which queries could be instantly executed, just like SQL Server Management Studio. But they also could take advantage of features such as a buffered declarative approach, model-based coding with error detection, a code-backed designer and the "modern TSQL coding experience" with IntelliSense, code coloring and so on.

Later, they switched to offline development, using the familiar Solution Explorer on the right-hand side of the Visual Studio IDE. They explained how this let them use "all the project goodness" while working on a source code-backed model rather than a database-backed model as they had done earlier with the Server Explorer on the left-hand side. This enabled source code control, application lifecycle management and other project-based features. They went on to cover new functionality such as drift detection, snapshots and publishing to SQL Azure.

If you're "interested in evaluating all the cool ideas we are toying with," as Microsoft's Kou phrased it, you can "self-nominate" with a Windows Live ID. You'll need to sign a non-disclosure agreement and give details about your company and database projects. "The Advisory program lasts for 6 months," Kou said. "Program participants will have access to SSDT product prototypes in videos and pictures every month, and participate in surveys to give us feedback on the new ideas we are showing."

Go here to sign up.

What do you think of Juneau/SSDT? Please comment here or drop me a line.

Posted by David Ramel on 05/26/2011 at 1:15 PM0 comments

SQL Server Management Studio Alternatives that are Free

I'm down on SQL Server Management Studio right now. I basically just spent a day trying to swap out the evaluation version of SQL Server 2008 R2 with the Express version, and SSMS just wouldn't install, apparently because some components of the evaluation version wouldn't uninstall. It's a long, ugly story that I won't bore you with, but a Web search shows that I'm certainly not alone in my frustration, which is cold comfort indeed, as they say.

Graham O'Neale's blog post illustrated problems similar to what I experienced. Note that he starts out with: "Ok, I'm angry...."

So are a lot of other people. Aaron Bertrand wrote a detailed account of his attempt to uninstall the evaluation edition and ultimately had to resort to registry hacks. "That was WAY too painful," he said. I feel that pain. So do dozens--hundreds, thousands?--of others. I wish Microsoft would just fix the damn thing.

Anyway, after many hours of exasperation, I decided to give up and started wondering what alternatives to SSMS were out there for developers wanting to mess around with SQL Server. Being of little coinage, my main requirement was simple: they had to be free.

Turns out, all I had to do was hit the Window key and type "ISE." (Well, Microsoft got THAT right.)

That command brings up the Windows PowerShell Integrated Scripting Environment (ISE). PowerShell is typically described as a tool for automation tasks or a "command-line shell designed especially for system administrators." But it can do much, much more.

Coincidentally, in my day job as technical editor of MSDN Magazine, I'm currently working on an article about PowerShell and how its seamless integration with the .NET Framework allows developers to do some pretty cool things. This article (to be published in the July edition) describes how to use the WPF PowerShell Kit to build a nifty WPF present value calculator.

I asked the author if he thought PowerShell would be of benefit to SQL Server developers. "PowerShell is absolutely, without a doubt, hands down a valuable for tool for Devs to work with SQL Server (and more)," he replied.

So I've been fooling around with it for a few hours now. It looks promising.

Version 2.0 comes with Windows 7 and Windows Server 2008 R2 out of the box, ready to be used. It can be run from the command line or in the ISE, which I prefer. To get started running scripts, you have to change the default execution policy, as explained here.

Then, to work with SQL Server, you need to install a couple "snap-ins," one for the SQL Server Provider and one to run SQL Server Cmdlets (pronounced "command-lets"). With Windows Server 2008 R2 and SQL Server 2008 R2, this is simply a matter of entering the following commands while in PowerShell: Add-PSSnapin SqlServerProviderSnapin and Add-PSSnapin SqlServerCmdletSnapin. You can read more about that in this TechNet article and this MSDN article.

After you're all set up, you're ready to start interacting with your SQL Server databases with regular Transact-SQL commands with the Invoke-Sqlcmd Cmdlet.

For example, here's a query against the Northwind database (Fig. 1 shows the result in PowerShell):

invoke-sqlcmd -query "SELECT Employees.EmployeeID, Employees.FirstName, Employees.LastName, Orders.OrderID, Orders.OrderDate
FROM Employees JOIN Orders ON (Employees.EmployeeID = Orders.EmployeeID)
WHERE Orders.orderdate > '5/5/1998'
ORDER BY Orders.OrderDate" -database northwind -serverinstance acer | format-table

SQL Server query against Northwind executed in PowerShell

Figure 1. A SQL Server query against the Northwind database executed in PowerShell. (Click image to view larger version.)

Fig. 2 is that same query as executed in SSMS (yes, I finally did get it to install).

... and this one in SSMS

Figure 2. The same query as executed in SQL Server Management Studio. (Click image to view larger version.)

Obviously, SSMS offers some features that PowerShell doesn't, such as the handy Object Explorer pane. But what I've shown is just the beginning of what you can do with PowerShell in the place of SSMS. I'll be exploring PowerShell more as time allows, and I'd also like to investigate other options, such as LINQPad 4 and the free version of Toad for SQL Server.

But I'm sure there are many readers out there who have already followed this path. So I'd love to have you share your experiences with the rest of us. What problems have you had with SSMS? What free alternatives do you recommend? Any experience with LINQPad or Toad? What do you like/dislike about these or various other options? Please comment here or drop me a line.

Posted by David Ramel on 05/19/2011 at 1:15 PM2 comments

SQL to NoSQL to NewSQL? Come on!

Earlier this month there were several articles published about the term "NewSQL" coined by the 451 Group in regard to a new class of vendors of high-performance, scalable database examined in its new report. The group explains the meaning of the term in a post hawking the report. And ReadWriteWeb has expounded on the subject.

I wonder, is this stuff really necessary? Or is it just a backlash that can be viewed as part of a repeating pattern concerning traditional, established technologies, as Andrew J. Brust posited in a thoughtful piece about the NoSQL movement earlier this week. He wrote:

"So if older technologies are proven technologies, and if they can be repurposed to function like some of the newer ones, what causes such discomfort with them? Is it mere folly of younger developers? Are older developers building up barriers of vocabulary, APIs and accumulated, sometimes seldom used, features in their products, to keep their club an exclusive one?"

Anyway, the 451 Group noted that "like NoSQL, NewSQL is not to be taken too literally: the new thing about the NewSQL vendors is the vendor, not the SQL."

So, does that help clear things up? Personally, I don't want a new acronym that describes vendors, not technologies.

I hereby officially launch the NoNewSQL movment. It's all about encouraging enterprises to take advantage of cutting-edge, anti-acronym technologies in order to leverage market trends and forces to enhance business value while increasing ROI... .

What do you think? Enough with the SQL acronyms? Comment here or drop me a line.

Posted by David Ramel on 04/28/2011 at 1:15 PM11 comments

Microsoft Answers Call for Database Support in Windows Phone 7

Last fall, writing about the developer uproar surrounding the lack of database support in the Windows Phone 7 platform, I noted: "It's pretty obvious what mobile developers want. Is Microsoft listening?"

Well, the answer is: "Yes!"

Microsoft this week announced in a MIX11 keynote address that the next update of Windows Phone 7, called "Mango," will include the lightweight SQL Server Compact Edition. Previously, database options were limited to options such as storing data in XML files, isolated storage or third-party solutions. That caused much developer ire, such as this reader comment: "Why not implement SQL CE Compact? You cannot write real business application without database support."

Microsoft exec Joe Belfiore noted early in his keynote that Mango will add several new features "that you've been asking for."

That's for sure. In fact, when he got around to listing the features, he talked about new core support for things like TCP/IP sockets. But when he mentioned "we have a built-in SQL database that you can use," spontaneous audience applause broke out, causing him to have to pause and acknowledge the cheers. "Yes, thank you," he said, before he could continue on. There was yet more applause after he mentioned more improved data access, to information such as contacts and calendars "so you can more richly integrate your apps with the user's data."

Clearly, data is king in mobile app development, and Microsoft has answered the call to help developers build richer data-centric apps.

So much for the monolithic behemoth out of touch with customers and developers.

You can watch the keynote about Mango, due out later this year, here.

What do you think about the addition of SQL Server support to Windows Phone 7? Just what the developer ordered, or too little, too late? Comment here or drop me a line.

Posted by David Ramel on 04/15/2011 at 1:15 PM2 comments

So Long, SQL Server 2005

Microsoft this week released the last cumulative updates for SQL Server 2005 and will end mainstream support for the product in a few weeks.

The Cumulative Update #15 for SQL Server 2005 Service Pack 3 contains six fixes, while the Cumulative Update #3 for SQL Server 2005 Service Pack 4 contains five fixes.

Although mainstream support ends April 12, technical support will continue for another five years for the latter service pack.

And plan ahead: technical support of SQL Server 2008 Service Pack 1 ends Oct. 11.

What version do you run? Do you feel pressured to upgrade? Comment here or send me an e-mail.

Posted by David Ramel on 03/23/2011 at 1:15 PM1 comments

Get An Early Start with SQL Server 'Denali'

Microsoft announced that developers can get help with building early, real-world projects with the next version of SQL Server, code named "Denali," through the Metro Early Adoption Program.

Denali, expected by many to be released later this year and sometimes unofficially known as SQL Server 2011, was issued last fall as a Community Technology Preview. It features enhancements such as a high-availability component called Always On, a "column-based query accelerator" and the capability to "allow for the creation of so-called columnar indexes over relational databases," as explained by Andrew J. Brust on Redmond Developer News.

And, of special interest to developers: it will provide a new unified Visual Studio IDE that's being called "Juneau."

Microsoft is seeking to get more developers onboard with Denali and started on real projects that will help them put some positive spin on the new version come release time. All you need to apply to the Metro Early Adoption program is a Windows Live ID and willingness to sign a non-disclosure agreement, Microsoft senior technical evangelist Roger Doherty announced in his blog Monday.

"You will be asked to provide some details about your company and your early adoption project," Doherty said. "We review each nomination that comes in and approve the solutions we think will have the best chance of showcasing SQL Server Denali improvements during the launch wave."

He said early adopters would get access to:

  • Confidential online meetings with SQL Server teams.
  • DeepDive developer labs, with assistance from the SQL Server engineering team.
  • Beta support.
  • Training events.
  • A ready-to-go, dedicated virtual Sandbox learning and testing environment.

You can get more information in a Channel 9 video featuring Doherty and colleague Steve DiMarco or the Microsoft Denali page.

Will you be applying? Are you looking forward to the new SQL Server or are you overwhelmed by a new version too soon after 2008 R2? Comment here or drop me a line.

Posted by David Ramel on 03/23/2011 at 1:15 PM0 comments

Oracle Points Windows Developers to MySQL

Forget all this touchy-feely open-source LAMP stack stuff--throw away your SQL Server and run our MySQL database on Windows.

Okay, maybe the message wasn't quite that stark, but there's no doubt Oracle upped the ante in the database wars today when it launched a comprehensive program to entice SQL Server developers, DBAs and such to run its Linux-borne MySQL database on Windows.

"It's a really nice implementation. I think it exceeds what Microsoft provides in their SQL Server implementation," quipped Rob Young, an Oracle senior product manager, during a three-hour Webcast. Talk about a direct attack on Microsoft's home turf: He was referring to Connector/NET, a tool that helps developers build .NET apps with MySQL. It was even noted that Connector/NET was written entirely in C#!

Oracle devoted an entire presentation to .NET development during its Webcast (but the audio was bad, so I have no idea what they said; the audio was fine before and after that presentation). And in the opening segment it trumpeted MySQL's improved "Windows eco-system support" for Visual Studio, Entity Framework, Windows administration tooling and connector enhancements--all deemed priorities for fiscal year 2011-12.

Connector/NET lets developers create C#, ASP.NET and VB.net apps, Oracle said, while implementing the ADO.NET interfaces, integrating into ADO.NET-aware tools and sporting a fully managed ADO.NET driver.

It almost seemed as if Oracle was adopting a "if you can't beat 'em, join 'em" mentality with MySQL. "Windows is, and will continue to be, No. 1 for development and deployment and we really want to stay focused and make sure that the performance capability [of MySQL development on Windows] is top-notch," said Tomas Ulin, vice president of MySQL Engineering when discussing upcoming enhancements to Oracle's Windows development tools.

Young summarized the state of the latest version of Connector/NET (6.3) and where it's going: "We have Visual Studio 2010 compatibility. We have support for .NET 4.x and we go back to 2.x as well, so if you're using an older version and haven't upgraded yet, our Connector will work back a couple of versions. We've also got this Model First development using the Entity Framework, so Connector 6.x will support that, so you can actually develop objects, tables, that type of thing, within the Entity Framework environment and then forward-engineer those into actual DBL and ultimately into database objects. If you're familiar with the SQL Server editor within Visual Studio, the MySQL editor looks, basically, exactly the same."

He also discussed MySQL compatibility with Visual Studio wizards and Web site wizard integration. "They look and feel and function exactly like they do for SQL Server. So you can use our Connector along with MySQL along with Visual Studio and feel very comfortable if you're already using those things for SQL Server as well. So no surprises here, just complete, simple integration with the Visual Studio environment."

Young also discussed the MySQL Workbench, which he noted was the No. 2 download from the MySQL family and, according to a slide, has a "growing, enthusiastic developer community." He said "it puts a face--a visual, point-and-click face--on the front of MySQL."

He said Workbench has a graphical design aspect that lets users reverse engineer a database, for example, and see it graphically, change things around and roll those changes into a new, physical database.

"It's got the ER design, development aspect to it as well," Young said. "You can work with code, and it's just a very nice, slick implementation. And what we've done is we've gone to great lengths to make sure the features and functionality within Workbench match very closely that of Visual Studio 2010. It very much feels like a Windows product because it is a Windows product. And just know that this is here, specifically, to extend what Visual Studio does for MySQL and provide a lower-level development tool for those that would like to use MySQL in a big way."

So there you have it. MySQL goes Windows. While Microsoft woos the open-source community to embrace SQL Server, Oracle is enticing Windows developers to move from SQL Server to open-source MySQL.

And with that, I pose a few questions: What will developers say about this? What will the Linux fanbois say about this? And why do they pronounce SQL Server as "sequel server" while pronouncing MySQL as "my s-q-l"?

I need answers to these burning questions. Comment here or send me an e-mail.

Posted by David Ramel on 03/16/2011 at 1:15 PM4 comments

Entity Framework Gets Code First (but Not Enum Support!)

No need to wait for that next major .NET Framework upgrade to get Entity Framework improvements, as a stand-alone EF installer is about to be released for the first time.

Entity Framework CTPs have been out for months and have alleviated many user concerns, and Entity Framework 4.1 is due to arrive any week now to address more.

It includes two major components: a DbContext API and Code First capability. The former is basically a simplified and enhanced ObjectContext. Most of the buzz among developers is around the new Code First component.

"Code First alleviates any need for a visual model, you can just create your classes, add any needed configurations to make sure they align with EF rules and go," said EF expert and author Julie Lerman in an interview. "You get the benefits of the ORM [object relational mapping] features offered by EF without the extra layer of having to create your model in a designer and then futz with a code generator to get your classes the way you want them."

Alleviation of the futz factor is a definite plus, indicated Tim Laverty, who as the lead program manager on the Microsoft EF team probably knows as much about Entity Framework as anyone in the world. In an interview, Laverty said Code First "offers a way for 'code-oriented' customers to build EDM [Entity Data Models] models and use EF.  Previously, tooling or a command-line interface was required to create your model unless you were willing to create and edit complex XML files."

Laverty also mentioned that EF 4.1 supplies several conventions, such as database creation, to help developers build apps easier, and also has rich ASP.NET MVC integration.

And developers are likely to be excited about the new DbContext API, too, said Lerman, who wrote a preview of EF 4.1 in MSDN Magazine [full disclosure: my day job is features editor for the mag]. "It's not just that the amount of exposed properties and methods has been reduced," she told this site, "but there are a lot of coding tasks that have been simplified … whereas you have to do a little more juggling with ObjectContext to achieve the same ends."

While many developers lauded the new release when it was announced last week, there's still a big list of improvements they want, such as support for stored procedures, type conversions, enums, bulk updates and more.

"Darn it! No SP support? Cached queries? Very disappointing," said a user named Darius in the comment section of the ADO.NET team blog announcing the "Go-Live Release Candidate." "Guess we'll have to wait a bit longer to use this.  Please just make sure that when you do implement, you do it right. Needs SPs to map to POCO objects or maybe even dynamic objects. Same goes for an ad-hoc SQL query."

Laverty sounded like he's heard about the enum clamor before. "Enum support!" he exclaimed when asked about future improvements (it's actually No. 1 on the uservoice site list, with more than 1,200 requests). "This is our top ask and is in our product plan for vNext," Laverty said. "After that, there's a large backlog: TVF [Table-Valued Function] support, Spatial support, better integration with database projects … better SQL gen, batch CUD [create, update or delete], second-level cache support, sharding support, migrations/database evolution, better [stored procedures] support" and more.

Laverty noted that disassociating EF from the evolution of Visual Studio and .NET Framework releases will help the EF team get improvements out faster--hopefully once per year. "We don't have a locked date for the release after 4.1 but are working on it now," he said.

He said you can let Microsoft know what features you'd like to see in EF in three main ways. "Give us feedback on our uservoice site, our forums, and our blog, please. We actively use each to build and prioritize our product backlog."

What would you like to see done to Entity Framework? Comment here or drop me a note.

Posted by David Ramel on 03/09/2011 at 1:15 PM11 comments

Code Completion, Mobility, Source Control and Web 2.0

Here's a roundup of recent product announcements in the database development world.

Devart announced the new version of dbForge SQL Complete, an add-in to enhance code completion for users of Microsoft SQL Server Management Studio.

The company said SQL Complete Version 2.5 comes only a month after version 2.0, incorporating new features requested by users. Some of the main enhancements include:

  • Quick object info: Moving the mouse cursor over a database object identifier produces a popup window to quickly show information such as column names and data types, more column properties, different kinds of keys, object types and user descriptions.
  • Expanded INSERT statement feature: Users can type a table name in an INSERT statement and then just press the Tab key to expand the statement to the entire template.
  • Export/Import setting wizard: Users can export the tool's settings to a file and use it later to import these settings.

The company also listed an improved SQL formatter, a button to reset page defaults and improved logic for JOIN clause suggestions.

Norway-based Norsync announced its U.S. launch with a free trial of its suite of tools for mobile application developers "who want to build, operate and synchronize data-driven mobile applications in a fraction of the time and cost."

The company said programmers often find it too complex to synchronize data between mobile clients and servers or configure a database management system to filter appropriate data to mobile databases.

Norsync Suite lets developers input a SQL-based database schema to generate an entire Visual Studio project with deployable C# applications for Windows and Windows Mobile devices, with support for iPhone and Android devices expected next quarter.

Red Gate released SQL Source Control 2.0, which lets users connect existing source control systems--such as Team Foundation Server or Subversion--to SQL Server. The company said the tool also offers a shared model to let developers on a team see other members' database changes in real time.

The company offers a 28-day free trial of the software that it says can be installed in less than five minutes.

Revelation Software announced a new version of its OpenInsight Development Suite, which provides developers with Windows and Java-based GUI tools for Web and client/server apps that support native and relational technologies such as XML, SQL and Lotus Notes, among others.

Version 9.2.1 provides new components such as:

  • OpenInsight for Web: A toolkit that helps OpenInsight and MultiValue developers build Web 2.0 browser-based programs as well as forms, reports, dashboards and menus.
  • Source code management: A new feature that lets users group source code into modules and kept as unique versions as it's compiled.
  • U2 DotNet Connecter: This has been redesigned in order to use the Uniobjects .NET library in lieu of Intercall libraries; this allows connection pooling.

The company also announced new versions of its Universal Driver.

Posted by David Ramel on 03/08/2011 at 1:15 PM0 comments

Upcoming Events

.NET Insight

Sign up for our newsletter.

I agree to this site's Privacy Policy.