Solved

How to get select rows or columns without using SQL statement

Posted on 2014-12-10
11
216 Views
Last Modified: 2014-12-17
Hi,

I'm trying to get values of a table that's in SQL server.   Currently we use

             
var selectproducts = new List<Product>();
 using (var newdb = new NorthWNDModel())
              {
                  selectproducts = newdb.Products.SqlQuery("dbo.GetProductsByCategory @p0", selectedCategoryID).ToList();
              }

Open in new window


We would like to get the tables without using SQL.   Is this possible?  We are using Entity Frame 6.1 Code First from Database.  If so, could you provide an example?  Thanks.

David
0
Comment
Question by:davidst98
  • 2
  • 2
  • 2
  • +2
11 Comments
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 40493931
Get something from SQL server without using SQL? no, it's not possible by definition. Any tool, wizard, LINQ, etc., would still be a wrapper around some SQL it would generate for the purpose.
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 40493950
if you refer to stored procedures, the "input" for the tool is then the procedure name, and the sql actually encapsulated into that stored procedure
you may want to move the access to a central web-service platform, which returns the data as needed, and "hiding" the sql there.
0
 
LVL 40
ID: 40494260
As vadimrapp1 told you, there need to be SQL somewhere for anything you want to retrieve from a database.

Guy hinted that you might want to hide the SQL for some reason. If anything else, please tell us why you want to get rid of the SQL statement, and we might be able to help you more precisely.
0
 
LVL 41

Accepted Solution

by:
pcelba earned 500 total points
ID: 40495047
Surely you can retrieve data without SQL...

SQL Server database is a disk file as any other file on your PC, so everything you need is to know the file structure and then some tool which will read data from this structure. You may write such program yourself.

The database structure is described e.g. here:
http://www.practicalsqldba.com/2013/09/sql-server-data-file-structure.html
http://www.pythian.com/blog/analyzing-sql-server-data-file-anatomy/
http://aboutsqlserver.com/tag/internal-structure/
https://www.simple-talk.com/sql/database-administration/sql-server-storage-internals-101/

I am not offering any code because this is not the way how we should use SQL Server data... If you do a regular database backup then the time to restore it is much lower than the time necessary to write a utility which will read the physical database file.

Remember the database file can be encrypted or placed in a cloud. In such case you have a lot of work to obtain readable data this way (comparing to simple backup/restore).
0
Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

 
LVL 42

Expert Comment

by:EugeneZ
ID: 40495457
davidst98:

could you please clarify your question with some examples of your quest result?
0
 
LVL 41

Expert Comment

by:pcelba
ID: 40498464
Unbelievable :-)
Am I the only one who knows gurus reading or even fixing MS SQL .mdf files in hexa editor?
0
 
LVL 40
ID: 40498470
It's not that it is completely impossible. After all, as pcelba stated, is a disk file as any other file on your PC.

But trying to work directly on the file is a hack that is a pain to do. One has to be crazy or going after a lot of money to want to access SQL Server data without going through the server... thus SQL Statements.

This reminds me of hacks we did in the 80's because systems were slow and reading the disks directly enables us to improve the speed a little bit. You have no ideas how many disks were scrapped because a bit was written in the wrong place. Disks held only 350K of data, so where not too much trouble to recreate. But recreating a 10Gb database from scratch, that would not please your boss or your Customer. And many databases are much larger that that.

And the hack is impossible most of the time anyway, because the typical SQL Server database is on 24/24 and the file itself is thus locked for any process that does not go to the server, when they are not encrypted. I do not have the time to read them, but I suspect that the web pages referenced in the winning question assume that the server is down.
0
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 40498502
"One of my favorite Real Programmers was a systems programmer for Texas Instruments. One day, he got a long distance call from a user whose system had crashed in the middle of saving some important work. Jim was able to repair the damage over the phone, getting the user to toggle in disk I/O instructions at the front panel, repairing system tables in hex, reading register contents back over the phone. The moral of this story: while a Real Programmer usually includes a keypunch and line printer in his toolkit, he can get along with just a front panel and a telephone in emergencies."

"Real Programmers Don't Use Pascal", DataMation, 1983

> And the hack is impossible most of the time anyway,

I suspect, even more important is that all this is about 10 light years away from what the author meant when he asked how to avoid SQL.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
Using examples as well as descriptions, and references to Books Online, show the documentation available for date manipulation functions and by using a select few of these functions, show how date based data can be manipulated with these functions.
Via a live example, show how to backup a database, simulate a failure backup the tail of the database transaction log and perform the restore.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now