Sure,
Web service is actual Microsoft's suggested solution for standard NAV integration
(you can publish codeunit, page, xmlport, query) oData is new functionality
NAV 2013 does not suppport the old C/Front module (old C/front was Microsoft's recommendated way of accessing NAV)
Old C/Front
Beginners guide: How connect to NAV from a .net project, using C/Front
blogs.msdn.com/.../beginners-guide-how-connect-to-nav-from-a-net-project-using-c-front.aspx
You can write a connector to read data from sql server using odbc\ado.net etc.);
You can buy an existing connector from vendors (ex: RapidiOnline NAV Integration connector etc.)
Some links about NAV & C# integration (.NET Interoperability)
Extending Microsoft Dynamics NAV Using Microsoft .NET Framework Interoperability
msdn.microsoft.com/.../hh168247(v=nav.71).aspx
Setting .NET Framework Types to Target the Microsoft Dynamics NAV Windows Client or Server
msdn.microsoft.com/.../hh166732(v=nav.71).aspx
Top 10 things I miss in .NET Interoperability in NAV 2013
vjeko.com/.../top-10-things-i-miss-in-net-interoperability-in-nav-2013