• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Metro with SQL Server?

shady28

Platinum Member
I've been looking at mobile platforms for an application that requires direct access to SQL Server databases.

iOS does not allow this except via an abstraction web layer.

Android does.

I have been making the possibly erroneous assumption that Windows Metro apps can do this as it's quite easy in .Net for a desktop application, but it appears that the Metro RunTime environment has limitations similar to iOS.

Does anyone know if Metro DOES allow this, something like ADO?
 
hmm, I'm not sure I'd want a metro app to log directly into a SQL server.

What's so bad about a web layer spiting out something like JSON? That would seem ideal for a mobile app.
 
hmm, I'm not sure I'd want a metro app to log directly into a SQL server.

What's so bad about a web layer spiting out something like JSON? That would seem ideal for a mobile app.

So instead of just running against the DB, we have to run a web server with web objects to connect to, adding additional layers and functions?

That makes a lot of sense if you're selling something on the store that is going to access data in some way, but if you're doing something inside a corporate intranet that thought process breaks down. Doubly so when you realize this database is accessed by other applications so you can't fundamentally change it. Basically a translation layer would be needed.

Which is interesting. Android actually seems more enterprise friendly in this way than any of the other mobile OS', as I can easily connect directly via jdbc / jtds.
 
So instead of just running against the DB, we have to run a web server with web objects to connect to, adding additional layers and functions?
Additional layers and functions? the oh noes.

That makes a lot of sense if you're selling something on the store that is going to access data in some way, but if you're doing something inside a corporate intranet that thought process breaks down. Doubly so when you realize this database is accessed by other applications so you can't fundamentally change it. Basically a translation layer would be needed.
If that's the case, all the more reason to add a middle tier. You can't throw out words like corporate and enterprise and then try to justify half assing it.

Which is interesting. Android actually seems more enterprise friendly in this way than any of the other mobile OS', as I can easily connect directly via jdbc / jtds.
You say enterprise friendly when you should actually be saying enterprise dangerous. I've never known an enterprise IT dept that would think a bunch of mobile apps accessing a DB directly was a good idea.
 
Last edited:
And we haven't even addressed the technical failures you are setting yourself up for. SQL server isn't designed to be accessed by a bunch of on-and-off devices.

Win RT can and will freeze and/or shut down apps as it needs to, to preserve battery and manage multi tasking. (Android does this too)

Now putting the two together... Win RT directly accessing SQL, is a bad, BAD idea. You will have so many dangling connections the server will start locking up.

You NEED that middle tier to do proper connection pooling.

Now if you need to actually add/edit data on this database from these mobile apps, the locks alone will kill you.
 
Last edited:
Besides the security and performance concerns, if you add the web server layer it can support ALL of iOS, Android, WinRT. So you can start with the one most used in your company, then add support for the others as needed.

Or use a pure HTML interface and skip needing to install apps at all -- write it once, use it with any device including Macs and PCs.
 
Back
Top