****************************************************************
                      MICROSOFT SQL SERVER
                MICROSOFT SQL SERVER ODBC 
                     װļ3.7 
****************************************************************

ļ˵ Microsoft SQL Server 6.5 İ汾ʹ
Microsoft SQL Server ODBC  3.7 档

 Microsoft SQL Server ODBC  3.7  SQL Server 7.0
һУSQL Server 7.0 û SQL Server 7.0
ļжԴ˵Դļе˵Ϊ׼

У

1. ſ
2. ڷϰװ Instcat.sql
3. ȡ SQL Server Client Net-Libraries
4.  SQL Server ʹ ODBC ĵԴ
5. ڿʹ
6. 

****************************************************************
1.ſ

SQL Server ODBC  3.7 һ Win32 ODBC 3.51 
ʹ ODBC 2.X  ODBC 3.X API дӦó򡣲
 Microsoft SQL Server 4.21a ϰ汾
Windows 98Windows 95  Windows NT (4.0 °汾)С

ڰװ SQL Server ODBC  3.7 ͬʱᰲװһ
Win32 SQL Server 7.0 ͻʵó򡣴 SQL Server ͻ
ʵó SQL Server 4.21a °汾ԼЩ 
SQL Server 汾е Client Net-Libraries

****************************************************************
2. ڷϰװ Instcat.sql

SQL Server ODBC ʹһϵͳ洢֪Ŀ¼洢
򣬾Ǵ SQL Server ϵͳĿ¼ȡϢÿͬ汾 
SQL Server ODBC ض汾Ŀ¼洢򡣰 
SQL Server ODBC  3.7 е Instcat.sql ļɾֲ
Ŀ¼洢ʹΪõĴ洢汾SQL Server
ODBC  3.7 Instcat.sql ļ SQL Server 7.0 
 Instcat.sql ļͬSQL Server 7.0 վ㲻д 
Instcat.sql ļ

SQL Server ϵͳԱʹ Instcat.sql űĿ¼洢
Ա֤СĿ¼洢Ӱɰ SQL
Server ͻ˵СSQL Server  4.21a  6.5 а汾
ɴ裬ʹ SQL Server 7.0ɲ

Ҫ SQL Server 4.21a6.0  6.5 ϽϵͳԱʹ
isql ʵó Instcat.sql űĿ¼洢(
˵)ڶݿκ޸ǰϵͳԱӦð
Ҫ isql ʵóΪ SQL Server Ŀͻ˹վ
װ

ʾ£ʹ isql ʵó Instcat.sql ű磺

C:>ISQL /Usa /Psa_password /Sserver_name /ilocation\Instcat.Sql 


sa_password 
	ϵͳԱ롣
server_name 
	 SQL Server ķơ
location 
	 Instcat.Sql λõȫ·

Instcat.sql űܶϢϢָʾýű 
Transact-SQLӰ˶СҪɨһ鿴Ƿָʾִ
ϢϢԱԡ Instcat.sql  
SQL Server 6.0 ʱ˵ڶ sp_MS_upd_sysobj_category 
ϢԱԡϢӦʾ Instcat.sql ɹˡ
û㹻ݿռ洢Ŀ¼洢¼гı仯ʱ
Instcat.sql űʧܡ

****************************************************************
3. ȡ SQL Server Client Net-Libraries

SQL Server ODBC ʹ SQL Server Client Net-Libraries 
ϢSQL Server ODBC  3.7 Ҳʹ 
SQL Server ͻʵó ODBC Դ 
Net-Library

SQL Server ODBC  3.7 ֻװһ Net-Library
Win32 ܵ Net-Library Dbnmpntw.dll

ɰ汾 Win32 Net-Libraries һʹ SQL Server ODBC 
 3.7 档ܵ Net-Library  Net-Library 
Ҫӵ SQL Server ϣʹ SQL Server 汾һ
е Net-Libraryڰװ SQL Server 汾 
Win32 SQL Server ͻʵóʱõ SQL Server Net-Libraries

 SQL Server ODBC  3.7 һװ SQL Server ͻ
ʵó SQL Server 4.21a °汾 
Client Net-Libraries һʹá

****************************************************************
4.  SQL Server ʹ ODBC ĵԴ

Microsoft SQL Server ODBC  3.7  
SQL Server 7.0 ͬSQL Server 7.0 ûɲ 
SQL Server 7.0 ĵж SQL Server ODBC  3.7 ˵

 SQL Server (4.21a6.0  6.5 ) һͬʹ SQL Server ODBC
 3.7 ʱĲʽɰ汾ͬ
ʹ SQL Server 汾еĸضϢ

* Ͼɰ汾 SQL Server  drvssrvr.hlp ļ

* SQL Server 6.5 ֲеġProgramming ODBC for Microsoft 
SQL Serverһڡ

* MSDN ṩİƤ顰Using ODBC with Microsoft SQL Server

Microsoft SQL Server ODBC  3.7 ҲáUsing ODBC with 
Microsoft SQL Server˵еĸضϢ
MSDN ȡϡ

 SQL Server ODBC  3.7 һе Sqlsodbc.hlp ļ
 SQL Server ODBC Դ򵼵еİ 
SQL Server ODBC ڰ汾һе Drvssrvr.hlp 
ļϰ汾ضϢھɰ汾 
Drvssrvr.hlp ļϢɼ SQL Sever 6.5 ֲ
Programming ODBC for Microsoft SQL Server

***************************************************************
5. ڿʹ

SQL Server ODBC Ϊ ODBC ʹض
Щض #define ض 
C  C++ ̽ṹ˵ Odbcss.h ļС

SQL Server ODBC  3.7 ԭʼ 
Odbss.h ļ

* SQL Server 7.0

* SQL Server 6.5 Service Pack 2 (SP2) µİ汾

* MDAC SDK

MDAC SDK Ϊ Microsoft Developer Network Professional һ֣
Ҳɴ Microsoft ַش SDK
www.microsoft.com/data
Ҳɴ Microsoft Press ġMicrosoft ODBC 3.0 
ͳԱοϻ SDK йϢ 

****************************************************************
6. 

 ODBC  3.7 Ϊ SQL Server 7.0 һͬͽûģ
SQL Server 7.0 ûӦ SQL Server 7.0 ڵ ODBC ĵ½
ļڽϾɰ汾 SQL Server (4.21a6.0  6.5) 
дʱοʹá

 ODBC ԱʵóӦó SQLConfigDataSource 
ԴҪʾûϢʱSQL Server ODBC 
 3.7 ʾһµ򵼡еťĵ

 SQL Server 6.5һе SQL Server ODBC  2.65 
УSQL_COPT_SS_PERF_QUERY_INTERVAL 빤΢룬ʹ
ѱĵ(μ֪ʶ Q157753) SQL Server ODBC 
 3.7 УSQL_COPT_SS_PERF_QUERY_INTERVAL ĵıΪ
΢빤

ĸıֻӰʹ ODBC 3.X API дӦóǲӰʹ 
ODBC 2.X API дӦóЩ仯Ӱڶ ODBC Ӧó
дĽ

ǰ汾 SQL Server ODBC У洢
 PRINT  RAISERROR һһ𷵻ǵϢ
SQL Server ODBC  3.7 Уÿ SQL ϢԵ
ءλһ SQL ϢÿϢ֮䣬 
SQLMoreResultsԵ SQL Ϣ DBCC 䣬ȫԵ
أÿϢ֮ûбҪ SQLMoreResults

ǰ汾 SQL Server ODBC ,洢еһ
ϵľ 11 ߵд RAISERROR ǵ 
SQLExecuteSQLExecDirect  SQLParamData  SQL_ERROR
SQL Server ODBC  3.7 УSQLExecuteSQLExecDirect  
SQLParamData ڵһ֮ûִʱ SQL_ERROR
κڵһִ֮УʹǼ򵥵ûзֵ 
RETURN 䣬ô SQLExecute  SQLExecDirect  
SQL_SUCCESS_WITH_INFOʹ SQLGetDiagRec  
SQL_SUCCESS_WITH_INFO Ϣ֮󣬵λһϵ 
SQLMoreResults

ǰ汾洢ĵһʱ
SQLExecute  SQLExecDirect  SQL_ERROR ֮
 SQL 䡣 3.7 򷵻 SQL_SUCCESS_WITH_INFO ʱ
ûͷŲܴ SQL 䣬 SQLMoreResults  
SQL_NO_DATA  RAISERROR нѾرաûн
Ϣô SQLCloseCursor ܱãSQLFreeStmt
(SQL_CLOSE)  SQLMoreResults 뱻Աͷ
 SQL 䣺

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

ִ䣺

SQLExecDirect(hstmt, "{ call TestPrc (NULL) }", SQL_NTS);

ʹϰ汾 SQL Server ODBC ʱӦóʹ 
ODBC 2.X API ʱSQLExecDirect  SQL_ERROR 
SQLGetDiagRec  SQL_NO_DATA  SQLError  
SQL_NO_DATA_FOUND ֮ͷִ SQL 䡣

д ODBC 3.X API Ӧóʹ SQL Server ODBC 
 3.7 ʱSQLExecDirect  SQL_SUCCESS_WITH_INFO
 SQLGetDiagRec  SQL_NO_DATA ֮
 SQL 䣬 SQLMoreResults  SQL_NO_DATA  
SQLFreeStmt(SQL_CLOSE)

ǰ汾 SQL Server ODBC УӦóִһ
Ӱе UPDATE  DELETE ʱSQLExecute
SQLExecDirect  SQLParamData  SQL_SUCCESS£
3.7 Ȼ SQL_SUCCESS  ODBC 2.X API д
Ӧó򣬵 SQL_NO_DATA  ODBC 3.X API д
Ӧóյ SQL_SUCCESS  ODBC 2.X Ӧóյ 
SQL_NO_DATA  ODBC 3.X ӦóȻ SQLRowCount
SQLRowCount ؼΪ㡣

ODBC 3.X 巵ؽķ ODBC 2.X ڰ汾 
SQL Server ODBC 򷵻ֵ ODBC 2.X  
SQLFetch  SQLExtendedFetch ڴ洢򷵻صϷ 
SQL_NO_DATA ʱش롣SQL Server ODBC  3.7 浱
 ODBC 2.X ӦóʱΪǣ
SQL Server ODBC  3.7  ODBC 3.X 
Ӧóʱ򲻷򷵻ش룬 
SQLMoreResults  SQL_NO_DATA
****************************************************************
