Citat:
Ursprungligen postat av PrettySneaky
Alltså, jag menade att SQL-språket efterfrågas mycket mer av industrin så därför rekomenderar jag att secce satsar på SQL eller mySQL i detta fallet. Kan man mySQL så är det väl inte så svårt att sätta sig in i tex Microsofts SQL server.
Kan man SQL funkar det till de flesta relationsdatabaser, från MySQL och upp till gigantiska system som DB2, rdb och Terabyte RDBMS.
Språket är inte speciellt knepigt i sig.
Det jag har märkst skiljer sig en del är HUR man får iväg sina SQL-satser till databashanteraren från applikationen. Det finns två skolor.
1) Call Level API - används av Sybase, MS SQL Server m.fl.
SQL satsen skickas som ett strängargument till en funktion, bakom detta brukar det dölja sig en TCP-socket eller motsvarande. På Sybase öppnade man en "handle" till databasmotorn (förmodligen en TCP-socket) och sedan tryckte man SQL-satsen genom denna. Typ så här
dbcmd (MyServerSomewhere, "DELETE FROM VasileTable");
retcode=dbexec(MyServerSomewhere);
if (retcode != SQL_SUCCESS){
printf("Shit!! SQL syntax error or something...");
}
Kör man en sats som returnerar data (d.v.s. SELECT i SQL) så får man plocka
rad för rad, kolumn för kolumn i resultatet och skriva ut.
2) En annan teknik användes av Informix, IBM DB2 m.fl.
Här skriver man SQL kod rakt in i källkoden (typiskt C eller COBOL)
och sedan kör man källkoden genom en SQL-precompiler for C/COBOL.
Därefter kompilerar man sin C eller COBOL-kod som vanligt.
Personligen tycker jag metoden suger.
Om man återgår till punkt 1 - alla databastillverkare har sina egna API:er
Detfinns dock generella "skinn" som man kan dra över dessa API:er, varav ODBC väl är det mest kända. Några databashanterare har ODBC som native-API.
Jag kanske har lite böcker och grejer kvar, om du PM:ar kan du få låna om jag hittar dem. Eller om du vill fråga nåt, jag har hållt på mycket med Sybase SQL Server förr (i princip samma som MS SQL Server, Sybase vägrade kalla sin produkt "Sybase" på den oseriösa PC-plattformen en gång i tiden. Upp till v4r2 var de faktiskt identiska! Sybase såldes under eget brans på en massa UNIX-smaker, samt på VAX VMS)