[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 280
  • Last Modified:

How to get select rows or columns without using SQL statement

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
davidst98
Asked:
davidst98
  • 2
  • 2
  • 2
  • +2
1 Solution
 
Vadim RappCommented:
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
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
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
 
Jacques Bourgeois (James Burger)PresidentCommented:
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
Managing Security Policy in a Changing Environment

The enterprise network environment is evolving rapidly as companies extend their physical data centers to embrace cloud computing and software-defined networking. This new reality means that the challenge of managing the security policy is much more dynamic and complex.

 
pcelbaCommented:
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
 
Eugene ZCommented:
davidst98:

could you please clarify your question with some examples of your quest result?
0
 
pcelbaCommented:
Unbelievable :-)
Am I the only one who knows gurus reading or even fixing MS SQL .mdf files in hexa editor?
0
 
Jacques Bourgeois (James Burger)PresidentCommented:
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
 
Vadim RappCommented:
"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

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

  • 2
  • 2
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now