home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Komputer for Alle 2001 Ek…a Alt Til Din Hjemmeside
/
K-CD_2001_Ekstra_Alt_til_din_hjemmeside.iso
/
SYSTEM
/
SQLSRDME.TXT
< prev
next >
Wrap
Text File
|
1999-04-07
|
13KB
|
298 lines
****************************************************************
MICROSOFT SQL SERVER
VIGTIGT.FIL TIL INSTALLATION AF
MICROSOFT SQL SERVER ODBC-DRIVER VERSION 3.7
****************************************************************
Denne fil beskriver brugen af Microsoft SQL Server ODBC-driveren
version 3.7 med Microsoft SQL Server version 6.5 eller tidligere.
Da Microsoft SQL Server ODBC-driveren version 3.7 leveres
med SQL Server 7.0, henvises brugere af SQL Server 7.0 til
dokumentationen til SQL Server 7.0 for denne driver i stedet
for dokumentationen i denne Vigtigt-fil.
De omhandlede emner er:
1. Oversigt
2. Installere Instcat.sql pσ serveren
3. Hente SQL Server-klientnetbiblioteker
4. Dokumentationskilder vedr°rende brugen af ODBC med SQL Server
5. Bruge driveren i et udviklingsmilj°
6. Kompatibilitetsproblemer
****************************************************************
1. Oversigt
SQL Server ODBC-driveren version 3.7 er en Win32ODBC-driver
i version 3.51. Den kan bruges med programmer
skrevet til enten ODBC 2.X eller ODBC 3.X API'erne. Driveren
fungerer med SQL Server version 4.21a eller senere. Driveren k°rer under
Windows 98, Windows 95 eller Windows NT (version 4.0 eller senere).
Et Win32 SQL Server 7.0 Client Network-vµrkt°j er ogsσ
installeret med SQL Server ODBC-driveren version 3.7. Vµrkt°jet
SQL Server Client Network kan benyttes sammen med SQL Server
version 4.21a eller senere og de klientnetbiblioteker, som
f°lger med disse versioner af SQL Server.
****************************************************************
2. Installere Instcat.sql pσ serveren
SQL Server ODBC-driveren bruger et sµt systemgemte
procedurer, kendt som kataloggemte procedurer, til at hente
oplysninger fra systemkataloget i SQL Server. Hver version
af SQL Server ODBC-driveren er udviklet til at arbejde
med en bestemt version af de kataloggemte procedurer.
Filen Instcat.sql, medtaget i version 3.7 af SQL Server ODBC-driveren
indeholder mindre opdateringer af de kataloggemte procedurer,
der opgraderer procedurerne til de versioner, der bruges af denne
driver. Filen Instcat.sql, der f°lger med SQL Server
ODBC-driveren version 3.7 er den samme som den Instcat.sql-fil,
der fulgte med SQL Server 7.0. Benyttes SQL Server 7.0, er det ikke
n°dvendigt at k°re Instcat.sql.
Systemadministratoren af SQL Server skal bruge scriptet
Instcat.sql til at opgradere de kataloggemte procedurer
for at sikre, at driveren virker korrekt. Opgradering af de
kataloggemte procedurer pσvirker ikke virkemσden af
µldre SQL Server-klienter. Dette skal g°res for alle
versioner af Microsoft SQL Server fra 4.21a til 6.5.
Denne opgradering er ikke n°dvendig, hvis du har SQL
Server 7.0.
For at opgradere de kataloggemte procedurer pσ SQL Server 4.21a,
6.0 eller 6.5 k°rer systemadministratoren scriptet Instcat.sql, der
bruger vµrkt°jet isql (se instruktionerne herunder). F°r der foretages
µndringer i masterdatabasen, b°r systemadministratoren
sikkerhedskopiere den. For at k°re isql skal computeren vµre
installeret som en klientarbejdsstation til SQL Server.
Brug isql-vµrkt°jet ved kommandoprompten for at k°re scriptet
Instcat.sql. Eksempel:
C:>ISQL /Usa /Psa_password /Sserver_name
/ilocation\Instcat.Sql
hvor
sa_password
er systemadministratorens adgangskode.
server_name
er navnet pσ den server, hvor SQL Server er placeret.
location
er den fulde sti til placeringen af Instcat.Sql.
Scriptet Instcat.sql genererer mange meddelelser. De fleste
angiver, hvor mange rµkker der blev pσvirket af Transact-SQL-
sµtninger afgivet af scriptet. De fleste af disse meddelelser kan
ignoreres, selvom outputtet b°r skannes for meddelelser, der
angiver en afviklingsfejl. Nσr Instcat.sql k°res pσ
version 6.0 af SQL Server, kan meddelelsen om, at objektet
sp_MS_upd_sysobj_category ikke eksisterer, ignoreres. Den
sidste meddelelse skal angive, at Instcat.sql blev gennemf°rt.
Scriptet Instcat.sql mislykkes, nσr der ikke er
tilstrµkkelig plads i masterdatabasen til at lagre de
kataloggemte procedurer eller til at registrere µndringerne af
eksisterende procedurer.
****************************************************************
3. Hente SQL Server-klientnetbiblioteker
SQL Server ODBC-driveren bruger SQL Server-klientnetbiblioteker
til at kommunikere med serveren. Version 3.7 af SQL Server
ODBC-driveren bruger ogsσ vµrkt°jet SQL Server
Client Configuration til at hσndtere det netbibliotek,
der er tilknyttet en ODBC-datakilde.
Version 3.7 af SQL Server ODBC-driveren installerer kun et
netbibliotek, det Win32-navngivne pipe-netbibliotek Dbnmpntw.dll.
Du kan bruge version 3.7 af SQL Server ODBC-driveren med µldre
Win32-netbiblioteker. Hvis et andet netbibliotek end det navngivne
pipe-netbibliotek er n°dvendigt for at etablere forbindelse til SQL Server, kan du
bruge det netbibliotek, der fulgte med din version af SQL
Server.
Du kan fσ SQL Server- netbiblioteker ved at installere
vµrkt°jerne Win32 SQL Server Client til din version af
SQL Server.
Den version af vµrkt°jet SQL Server Client Network,
der er installeret med version 3.7 af SQL Server ODBC-driveren, kan
bruges med klientnetbiblioteker fra SQL Server 4.21a eller
senere.
****************************************************************
4. Dokumentationskilder vedr°rende brugen af ODBC med SQL Server
Version 3.7 af Microsoft SQL Server ODBC-driveren er den
samme driver, som leveres med SQL Server 7.0. Brugere af SQL
Server 7.0 henvises til dokumentationen til SQL Server 7.0 for
SQL Server ODBC-driveren version 3.7
Nσr SQL Server ODBC-driveren version 3.7 bruges med SQL Server
(version 4.21a, 6.0 eller 6.5), fungerer driveren pσ samme mσde
som de µldre drivere. Du kan derfor bruge de driverspecifikke
oplysninger, som fulgte med denne version of SQL Server. Disse
omfatter:
* Filen drvssrvr.hlp, som fulgte med den tidligere version
af SQL Server.
* Afsnittet "Programming ODBC for Microsoft SQL Server" i
hσndb°gerne til SQL Server 6.5.
* Hvidbogen "Using ODBC with Microsoft SQL Server", der
kan fσs pσ MSDN.
Version 3.7 af Microsoft SQL Server ODBC-driveren overholder ogsσ
yderligere driverspecifikke oplysninger i den tekniske
bemµrkning "Using ODBC with Microsoft SQL Server", som kan hentes
pσ MSDK.
Filen Sqlsodbc.hlp, der f°lger med version 3.7 af SQL Server
ODBC-driveren, indeholder kun kontekstsensitiv hjµlp til guiden
SQL Server ODBC Datakilde. Filen Drvssrvr.hlp, der
fulgte med tidligere versioner af SQL Server ODBC-driveren,
indeholdt driverspecifikke oplysninger til µldre versioner
af driveren. Oplysningerne i de µldre versioner af
Drvssrvr.hlp er gengivet i hσndbogen til SQL Server 6.5
"Programming ODBC for Microsoft SQL Server."
****************************************************************
5. Bruge driveren i et udviklingsmilj°
SQL Server ODBC-driveren bruger driverspecifikke
parametre til flere ODBC-funktionskald. Definitioner for disse
driverspecifikke parametre og driverspecifikke C- og C++-
programmeringsstrukturer er indeholdt i filen
Odbcss.h.
SQL Server ODBC-driveren version 3.7 fungerer med filen Odbcss.h,
der findes i f°lgende kilder:
* SQL Server 7.0
* SQL Server 6.5 Service Pack 2 (SP2) eller senere
* MDAC SDK
MDAC SDK er en del af Microsoft Developer Network
Professional. SDK kan ogsσ hentes Microsoft Web-stedet
pσ www.microsoft.com/data. SDK kan ogsσ fσ fra
Microsoft Press i "Microsoft ODBC 3.0 Software
Development Kit and Programmer's Reference".
****************************************************************
6. Kompatibilitetsproblemer
Eftersom ODBC-driveren version 3.7 f°lger med SQL
Server 7.0, henvises brugere af SQL Server 7.0 til dokumentationen
til ODBC i SQL Server 7.0. Kompatibilitetsproblemer dokumenteret
i dette afsnit gµlder kun, nσr denne driver k°rer med
tidligere versioner af SQL Server (4.21a, 6.0 og 6.5).
SQL Server ODBC-driveren version 3.7 indeholder en ny guide,
nσr datakilder tilf°jes eller konfigureres i enten vµrkt°jet ODBC-
administrator, eller nσr et program kalder
SQLConfigDataSource og beder driveren om at sp°rge brugeren om
oplysninger. Klik pσ knappen Hjµlp i guiden for at fσ adgang til
dokumentationen til guiden.
I version 2.65 af SQL Server ODBC-driveren, der fulgte med
SQL Server 6.5, arbejdede SQL_COPT_SS_PERF_QUERY_INTERVAL
i sekunder i stedet for millisekunder som angivet i dokumentationen
(se Knowledge Base artikel Q157753). I version 3.7 af
SQL Server ODBC-driveren er SQL_COPT_SS_PERF_QUERY_INTERVAL
µndret til at arbejde i millisekunder som angivet i dokumentationen.
F°lgende µndringer pσvirker kun programmer skrevet med
ODBC 3.X API. De pσvirker ikke programmer skrevet
med ODBC 2.X API. Disse µndringer b°r ikke pσvirke
behandlingen af resultatet i de fleste ODBC-programmer.
I tidligere versioner af SQL Server ODBC-driveren, returnerer
sammenhµngende PRINT- eller RAISERROR-sµtninger i et bundt
eller i en gemt procedure deres meddelelser sammen i Θt resultatsµt. I
version 3.7 af SQL Server ODBC-driveren returneres meddelelserne for hver
SQL-sµtning som separate resultatsµt. Du skal kalde
SQLMoreResults mellem hver meddelelse, der skal placeres
pσ meddelelsen for den nµste SQL-sµtning. Meddelelser fra
en enkelt SQL-sµtning, f.eks. en DBCC-sµtning, returneres alle
i et enkelt resultatsµt, og det er ikke n°dvendigt at kalde
SQLMoreResults mellem hver meddelelse.
I tidligere versioner af SQL Server ODBC-driveren medf°rte en k°rselsfejl
eller en RAISERROR med prioritering pσ 11 eller h°jere pσ den
f°rste sµtning i et bundt eller i en gemt procedure altid,
at enten SQLExecute, SQLExecDirect eller SQLParamData returnerede
SQL_ERROR. I version 3.7 af SQL Server ODBC-driveren
returnerer SQLExecute, SQLExecDirect eller SQLParamData kun SQL_ERROR,
hvis ingen andre sµtninger afvikles efter den f°rste
sµtning. Hvis andre sµtninger afvikles efter den
f°rste, selv en simpel RETURN-sµtning uden returvµrdi, returnerer
SQLExecute eller SQLExecDirect SQL_SUCCESS_WITH_INFO. Efter
behandling af SQL_SUCCESS_WITH_INFO-meddelelserne med
SQLGetDiagRec, skal SQLMoreResults kaldes for at blive placeret pσ
det nµste resultatsµt.
Nσr tidligere versioner af driveren st°dte pσ en fejl i den f°rste
sµtning i et bundt eller en gemt procedure, kunne sµtningens
handle bruges med en anden SQL-sµtning, efter
SQLExecute eller SQLExecDirect returnerede SQL_ERROR. Nσr version 3.7
af driveren returnerer SQL_SUCCESS_WITH_INFO, er sµtningen ikke fri
til at behandle en anden SQL-sµtning, f°r SQLMoreResults returnerer
SQL_NO_DATA, eller f°r alle resultatsµt, der f°lger efter RAISERROR,
er blevet lukket. Hvis der ikke f°lger et resultatsµt efter fejlmeddelelsen,
kan SQLCloseCursor ikke kaldes. SQLFreeStmt(SQL_CLOSE)
eller SQLMoreResults skal kaldes for at frig°re sµtningens handle
til at behandle en anden SQL-sµtning:
CREATE PROCEDURE TestPrc @Parm1 as
IF (@Parm1 IS NULL)
BEGIN
RAISERROR ('Parm1 cannot be NULL', 11, 1)
RETURN
END
SELECT * FROM sysusers WHERE suid = @Parm1
GO
Udf°r f°lgende:
SQLExecDirect(hstmt, "{ call TestPrc (NULL) }", SQL_NTS);
Hvis en µldre version af SQL Server ODBC-driveren bruges, eller
hvis programmet benytter ODBC 2.X API, returnerer SQLExecDirect
SQL_ERROR. Efter SQLGetDiagRec returnerer SQL_NO_DATA, eller
SQLError returnerer SQL_NO_DATA_FOUND, er sµtningens handle
fri til at udf°re en anden SQL-sµtning.
Ved brug af version 3.7 af SQL Server ODBC-driveren fra et
program skrevet til ODBC 3.X API returnerer SQLExecDirect
SQL_SUCCESS_WITH_INFO. Efter SQLGetDiagRec returnerer
SQL_NO_DATA, kan sµtningens handle ikke bruges til at behandle
en anden SQL-sµtning, f°r SQLMoreResults returnerer
SQL_NO_DATA, eller SQLFreeStmt(SQL_CLOSE) kaldes.
I tidligere versioner af SQL Server ODBC-driveren returnerer SQLExecute,
SQLExecDirect eller SQLParamData SQL_SUCCESS, nσr et
program afvikler en UPDATE- eller DELETE-sµtning, der er s°gt efter,
og som ikke pσvirker nogen rµkker. I dette tilfµlde returnerer version 3.7
af driveren stadig SQL_SUCCESS til programmer skrevet med
ODBC 2.X API, men den returnerer SQL_NO_DATA til programmer
skrevet med ODBC 3.X API. Hvis enten det ODBC 2.X-
program, der modtager SQL_SUCCESS, eller det ODBC 3.X-
program, der modtager SQL_NO_DATA, derefter kalder SQLRowCount,
returnerer SQLRowCount en optµlling pσ nul.
ODBC 3.X definerer mere klart den mσde, resultater returneres pσ,
end ODBC 2.X. Tidligere versioner af SQL Server ODBC-driveren
returnerede outputparametres og returkoders vµrdier, nσr
ODBC 2.X-funktionerne SQLFetch eller SQLExtendedFetch returnerede
SQL_NO_DATA pσ det sidste resultatsµt returneret af en gemt
procedure. Version 3.7 af SQL Server ODBC-driveren bevarer denne
virkemσde, nσr den kaldes af ODBC 2.X-programmer. Nσr version 3.7 af
SQL Server ODBC-driveren derimod kaldes af ODBC 3.X-programmer,
returnerer driveren ikke outputparametre eller returkoder, f°r
SQLMoreResults returnerer SQL_NO_DATA.
****************************************************************