Avatar billede looppen Nybegynder
24. juni 2005 - 12:08 Der er 14 kommentarer og
1 løsning

connect fra C++ til MSDE

Hejsa,

er der nogen der kan fortælle mig hvordan man laver en connection til en MSDE SQL server fra et C++ program?
Avatar billede arne_v Ekspert
24. juni 2005 - 12:12 #1
Der er mange muligheder.

VC++ managed C++ : ADO.NET

enhver Win32 C eller C++ : ODBC API

VC++ : MFC's database klasser

enhver Win32 C eller C++ (og du kan leve med SQLServer 6.5 funktionalitet) : DBLib
Avatar billede looppen Nybegynder
24. juni 2005 - 12:14 #2
hmm ... det blev jeg ikke ret meget klogere af
Avatar billede arne_v Ekspert
24. juni 2005 - 12:16 #3
pointen er nok lidt at du kan starte med at fortælle om du bruger C eller C++,
hvilken compiler du bruger og hvis det er VC++ 7.0/7.1/8.0 om det er unmanaged
eller managed kode
Avatar billede looppen Nybegynder
24. juni 2005 - 12:42 #4
Jeg bruger Borland C++ Builder 6.0, hjælper det?

Du må bære over med mig jeg er ret ny til c++ i det hele taget.
Avatar billede arne_v Ekspert
24. juni 2005 - 12:46 #5
ODBC API vil ihvertfald virke

men der er sikkert nogle smarte Borland ting til database adgang via ADO

hvis du vil kigge pÅ ODBC så har jeg skrevet en artikel:
  http://www.eksperten.dk/artikler/207

det er helt standard C kode som bør virke på alle windows compilere inklsuive BCB6
Avatar billede looppen Nybegynder
24. juni 2005 - 12:59 #6
Umiddelbart ser det rigtig godt.
Jeg har ikke nået at teste det endnu, men jeg tror på det virker.

Men har jeg ikke ret i at denne løsning kræver at man skal ind og oprette ODBC forbindelsen inde i windows på en hver maskine hvor dette skal virke?
Avatar billede arne_v Ekspert
24. juni 2005 - 13:01 #7
nej

du skal bare bruge en DSNless connection string
Avatar billede arne_v Ekspert
24. juni 2005 - 13:02 #8
for SQLServer ser den ud som:

"Driver={SQL Server};Server=dinserver;Database=dindatabase;Trusted_Connection=yes;"
Avatar billede looppen Nybegynder
24. juni 2005 - 13:07 #9
Vil det siga at hvis jeg tager udgangspunkt i din artikel, så skal jeg bare skifte linien:
  char *dsn = "TestMSAccess";
ud med:
  char *dsn = "Driver={SQL Server};Server=dinserver;Database=dindatabase;Trusted_Connection=yes;";
og så vil det virke ?
Avatar billede arne_v Ekspert
24. juni 2005 - 13:11 #10
du skal ned i det andet eksempel og sætte

char *constr = "Driver={SQL Server};Server=dinserver;Database=dindatabase;Trusted_Connection=yes;";
Avatar billede looppen Nybegynder
24. juni 2005 - 13:18 #11
OK jeg prøver det lige...
Avatar billede looppen Nybegynder
24. juni 2005 - 13:35 #12
Hmm...

Jeg får en fejl:
[Linker error] unresolved externel 'SQLAllocEnv'

faktisk får jeg en på alle funktioner der ligger i sql.h. Det er sikket noget jeg har glemt i Builderen ... men hvad
Avatar billede arne_v Ekspert
24. juni 2005 - 13:49 #13
du skal linke mod odbc32.lib
Avatar billede looppen Nybegynder
24. juni 2005 - 14:08 #14
Ja men det virkede selvfølgeligt...
Tusind tak for hjælpen, lægger du et svar?
Avatar billede arne_v Ekspert
24. juni 2005 - 14:11 #15
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester