konto usunięte

Temat: C++ i SQL serwer

Witam serdecznie
Potrzebuję pomocy w pewnym projekcie. Chcę napisać program który będzie generował plik csv na podstawie wyniku zapytania SQL. Serwer to MS Server 2008.

Od czego mam zacząć? Czy ktoś poleci jakieś publikacje (PL) z którymi powinienem się zapoznać? Może przykład programu łączącego się z SQL? Będę wdzięczny za wszelką pomoc.

PS. Nigdy się nie uczyłem C. Mikroprogramiki które do tej pory napisałem opierały się na wiedzy jaką daje google oraz metodą prób i błędów.

konto usunięte

Temat: C++ i SQL serwer

Zdecydowanie C#, albo nawet php do tego lepsze. Po co się męczyć w C++?

konto usunięte

Temat: C++ i SQL serwer

Ponieważ tylko w c++ potrafie. Php odpada. To ma być aplikacja a nie skrypt.

konto usunięte

Temat: C++ i SQL serwer

Jeśli w C++ umiesz pisać to i w C# dasz radę. Chcesz się męczyć z ODBC albo innym dziadostwem pod C++? W C# połączenie do bazy MS SQL Server to jedna linijka:

http://support.microsoft.com/kb/306636/pl

http://www.codeproject.com/KB/database/sql_in_csharp.aspx
http://sharpertutorials.com/connecting-to-a-sql-server...Adam Michalski edytował(a) ten post dnia 27.10.10 o godzinie 17:26

konto usunięte

Temat: C++ i SQL serwer

I tym sposobem prosisz o jabłka a wcisną Ci gruszki. Korzystanie z c++ ma niewątpliwie jedną wielką wadę - porypane nazwy w API. Trudno. Ale da się i robi się to dokładnie tak samo jak w c#. Ładny przykład:

http://www.codersource.net/c/c-database/c-ado-select-s...

Trochę dokumentacji (w którą się nie wczytywałem, ale wydaje się być przydatna):

http://msdn.microsoft.com/en-us/library/ms675043(v=VS....

konto usunięte

Temat: C++ i SQL serwer

Ale po co tak się chrzanić, jak w C# można duuuuuużo prościej? Tutaj musisz chrzanić sięze wskaźnikami, uchwytami. Autor sam pisze, że jedyny powód dla którego wybrał C++ jest fakt, że tylko C++ umie. Totalnie bez sensu jest w to dalej brnąć, jeśli jedyne co się ma robić to różne proste operacje na SQLu.
Karol Z.

Karol Z. Programista,
elektronik

Temat: C++ i SQL serwer

Adam Michalski:
Ale po co tak się chrzanić, jak w C# można duuuuuużo prościej? Tutaj musisz chrzanić sięze wskaźnikami, uchwytami. Autor sam pisze, że jedyny powód dla którego wybrał C++ jest fakt, że tylko C++ umie. Totalnie bez sensu jest w to dalej brnąć, jeśli jedyne co się ma robić to różne proste operacje na SQLu.

Pytanie jakie Jarosław ma narzędzia do tworzenia. Swoją drogą, nie wiem czy dobrze myślę, ale ładowanie się z prostym programem do .NET (a C# niejako kwalifikuje to rozwiązanie) jest chyba średnim pomysłem...

Swoją drogą, nie tyle umie C++ co zna C (bez plusplusów). :)Karol Z. edytował(a) ten post dnia 27.10.10 o godzinie 18:44

konto usunięte

Temat: C++ i SQL serwer

Karol Z.:
Adam Michalski:
Ale po co tak się chrzanić, jak w C# można duuuuuużo prościej? Tutaj musisz chrzanić sięze wskaźnikami, uchwytami. Autor sam pisze, że jedyny powód dla którego wybrał C++ jest fakt, że tylko C++ umie. Totalnie bez sensu jest w to dalej brnąć, jeśli jedyne co się ma robić to różne proste operacje na SQLu.

Pytanie jakie Jarosław ma narzędzia do tworzenia. Swoją drogą, nie wiem czy dobrze myślę, ale ładowanie się z prostym programem do .NET (a C# niejako kwalifikuje to rozwiązanie) jest chyba średnim pomysłem...

Swoją drogą, nie tyle umie C++ co zna C (bez plusplusów). :)

Tu można dyskutować. Wydaje mi się, że C# jest idealny do małych i średnio-małych projektów. C++ sprawdza się w dużych projektach.

A po co programować jak w stylu lat 90? W latach 90 się proste aplikacje bazodanowe pisało w C++, bo nic innego nie było. świat od tamtej pory poszedł do przodu.

Myślę, że jeśli jest początkujący, to trzeba mu podpowiadać właściwe rozwiązania. To nie ma być superwydajny projekt z 1000 tabel, gdzie każda mikrosekunda się liczy, tylko prosty eksport SQL -> CSV. W C# połączenie to 3 linijki:


string sConnectionString = "User ID=<UID>;Initial Catalog=pubs;Data Source=(local)";
SqlConnection objConn = new SqlConnection(sConnectionString);
objConn.Open();


a w C++ można się nadziać na wiele rzeczy. W sumie to i tak takie rzeczy się pisze w PHP. Warto początkującemu podpowiadać właściwe narzędzia. W końcu nie cały świat został napisany w C++ (przy mojej wielkiej miłości do tego języka).Adam Michalski edytował(a) ten post dnia 27.10.10 o godzinie 19:07
Jakub L.

Jakub L. Programista

Temat: C++ i SQL serwer

Ja bym proponował Perl (Active na przykład), sterownik ODBC i jechany.
Potrzebne są notatnik i przeglądarka.

konto usunięte

Temat: C++ i SQL serwer

Tyż prawda. Może być i Python. Język zalecany przez wielu do nauki przez początkujących.

konto usunięte

Temat: C++ i SQL serwer

Nie będę wchodził w dyskusję czy c++ czy c#.
Jeśli Pan Adam twierdzi, że będzie prościej to nie upieram się. Przeczytam parę kursów i może uda mi się coś zbudować w wolnej chwili. Dzięki!

Aha. co do narzędzi to na szybko zassałem SharpDevelop. Dobre narzędzie?

konto usunięte

Temat: C++ i SQL serwer

MS Visual C# Express chyba wystarczy. Do zassania z oficjalnej strony. No tylko musisz mieć jeszcze bazę. Powinno się udać w dzień napisać taki programik. Jak coś to pisz.Adam Michalski edytował(a) ten post dnia 27.10.10 o godzinie 19:26

konto usunięte

Temat: C++ i SQL serwer

MS Visual C# Express nie jest za ciężki na taki malutki projekt?
Bazę już mam. Co do czasu to jak bym posiedział cały dzień to może napiszę jednak nie mam całego dnia wolnego (praca i obowiązki osobiste).
Niemniej zgłoszę się jak napotkam jakieś problemy.
Jeszcze raz dziękuję !

konto usunięte

Temat: C++ i SQL serwer

Jarosław Majcher:
MS Visual C# Express nie jest za ciężki na taki malutki projekt?
Bazę już mam. Co do czasu to jak bym posiedział cały dzień to może napiszę jednak nie mam całego dnia wolnego (praca i obowiązki osobiste).
Niemniej zgłoszę się jak napotkam jakieś problemy.
Jeszcze raz dziękuję !

Tego jest chyba z 50 mega, to oficjalne narzędzie, z innymi mogą byc problemy z bibliotekami dostępowymi do baz. Ale jeśli uda Ci się tym Twoim połączyć do bazy (te 3 linijki które podałem, oczywiście zmodyfikowane odpowiednio) to możesz w nim robić.

konto usunięte

Temat: C++ i SQL serwer

Ok. Sprawdzę bardzo późnym wieczorkiem.

konto usunięte

Temat: C++ i SQL serwer

Tak celem podania różnych opcji: c++ i Qt. Połączenie do bazy też w jednej linijce. podobnie odczyt/zapis.

konto usunięte

Temat: C++ i SQL serwer

Do takich małych p..rogramów polecam Pythona.
Robi się takie rzeczy od ręki.

Ew. jak się komuś nie chce programować to w Lazarus Pascal robi sie to myszką... (no prawie).

Jednak jeśli jest mus na C++ to tutaj jest przykład do ODBC:
http://bit.ly/9R7OHs

Qt wygląda że ma całkiem ciekawy interfejs do bazy:
http://bit.ly/aSabypPiotr Likus edytował(a) ten post dnia 28.10.10 o godzinie 11:01

konto usunięte

Temat: C++ i SQL serwer

Ten C# mi się podoba. Bez problemu generuję teraz plik z bazy danych. (co prawda nie uwzględniłem jeszcze wyjątków i pewnie nie zrobiłem tego zgodnie ze sztuką programowania. Ale poczytam dokładnie o klasach i naprawię swoje błędy.

1. Pytanie czy wysyłanie na FTP jednego pliku jest również takie proste? Jakieś dobre publikacje? :-) MSDN?
2. Jak zabezpieczyć się przed ewentualnym uszkodzeniem pliku po wysłaniu? Suma kontrolna md5?
Mateusz Herych

Mateusz Herych Arch Linux TU,
Student PK

Temat: C++ i SQL serwer

Jest łatwe.
Pogoogluj za "C# ftp", jest tego bardzo dużo. Już pierwszy link wygląda pomocnie.

konto usunięte

Temat: C++ i SQL serwer

Jarosław Majcher:
Ten C# mi się podoba. Bez problemu generuję teraz plik z bazy danych. (co prawda nie uwzględniłem jeszcze wyjątków i pewnie nie zrobiłem tego zgodnie ze sztuką programowania. Ale poczytam dokładnie o klasach i naprawię swoje błędy.

Jeśli to wewnętrzny tool to zrób jeden duży wyjątek na Main() i wypisuj na konsolę (albo do jakiegoś pliku) Message z wyjątku i Inner Exceptions (rekurencyjnie) - tutaj masz kawałek koda:

http://www.codekeep.net/snippets/ff4c7245-e003-4057-bb...
1. Pytanie czy wysyłanie na FTP jednego pliku jest również takie proste? Jakieś dobre publikacje? :-) MSDN?

Ten kawałek koda na początek:
http://www.codeguru.com/csharp/csharp/cs_internet/desk...
2. Jak zabezpieczyć się przed ewentualnym uszkodzeniem pliku po wysłaniu? Suma kontrolna md5?

Czemu nie. Są gotowe klasy w C# do liczenia MD5:

http://sharpertutorials.com/calculate-md5-checksum-file/

Trzeba napisać prostą aplikację konsolową do liczenia md5 dla podanego pliku i policzyć po obu stronach i voila.

Następna dyskusja:

Rozszerzenie/klasa SQL dla C++




Wyślij zaproszenie do