🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: cn.bbs.comp.program
1 messages
1 total messages Started by Arrow Thu, 25 Dec 1997 00:00
JDBC (һ)
#2369
Author: Arrow
Date: Thu, 25 Dec 1997 00:00
227 lines
14628 bytes
������: dong@SMTH (��), ����: Database
��  ��: JDBC
����վ: ˮľ�廪  (Tue Jul  9 21:01:38 1996)
ת��վ: SMTH

1. ����

��࿪���ߺ��û�����Ѱ��Java�����з�����ݿ�ı�ݷ�
��������Java��һ����׳����ȫ������ʹ�õģ���������ҿ�
�Դ��������Զ�download ���������Ϊ������ݿ�Ӧ�õ�һ��
���õ����Ի����ṩ��C,C++,Smalltalk, BASIC, COBOL,
and 4GLs������ŵ㡣��๫˾�Ѿ���ʼ��Java��DBMS������
������������

���JavaӦ�ÿ����߶�ϣ���ܹ���д�������ض�DBMS�ij�
�򣬶�����Ҳ����һ��������DBMS�Ľӿڽ�ʹ������ָ���
DBMS���ӱ����Ϊ��ݣ��������Ѹ�١�����������Ϊ����
һ��ͨ�õ�SQL��ݿ��ȡ��ܣ��ڸ��ָ�����ṩ��ݿ���
��ģ�����ṩͳһ�Ľ�����ʮ��������ġ���ʹ����Ա������
�Ե�һ����ݿ���棬ʹ��ݿ��޹ص�Java���ߺͲ�Ʒ��Ϊ��
�ܣ�ʹ����ݿ����ӵĿ����߿����ṩ���ָ�������ӷ�����
���ǿ������Ƕ���һ��ͨ�õͲ�ģ�֧�ֻ�SQL���ܵ�Java
DataBase Connectivity (JDBC)API�Ľ�������

���˵������Dz��ش�ͷ���һ��SQL API�����ǿ��԰����ǵ�
���������� X/Open SQL CLI (���ò�ӿ�)֮��(��Ҳ��
Microsoft's ODBC ��)��

������Ҫ�����Ƕ���һ����Ȼ��Java�ӿ�����X/Open CLI�ж�
��Ļ�ij����͸������ӡ�

JDBC API�õ���ݿ⿪�����̣����ӿ������̣�ISV,�Լ�Ӧ��
�����ߵ�֧����ʮ����Ҫ�ġ��������Ű����ǵĹ���������
ODBC�����Ļ��Ͻ�JDBC������׵õ���ҵĽ��ܡ�����
�Ӽ�������˵��ODBC��������ƹ�����һ�����û�

��ΪODBC��һ��C���Խӿڣ�����ODBC��Java��ֱ��ʹ�ò�
�ʵ�����Java��������C�����ڰ�ȫ�ԣ���׳�ԣ�ʵ�ֵķ��㣬
����ֲ�Եȵȷ�������಻�㡣��ʹ��Java����Щ��������
�ŵ�ò������ӡ�
�����Ѿ��ڶ�������ʵ����һ��������ODBC�ϵ�API����Զ��
�������ǿ���ͨ������ʽ�ṩʵ�֡�

1.1. ע��
���Ƿdz���л����ݿ⣬��ݿ����Ӻ���ݿ⹤����������
���ڵĹ����ߡ�����ΪJDBC�����ڲݰ��ṩ�˺ܺõ�����
���顣���ǵĹ����Ա��淶���˲��ɹ��������á�


2. Ŀ������ѧ

�������������ָ�����API������Ŀ���Լ���ѧ��

2.1. SQL �� API

���ǵ���ҪĿ����ΪJava����һ�������ü���(call-level)��SQL
�ӿڡ�����ζ��������Ҫ��ע����������ִ��ԭԭ������SQL
��䲢��ȡ�ؽ������Ԥ�Ƹ߲��APIҲ�������壬��Щ��
�ܽ������ڻ��Ľӿ��ϡ�

��Щ�߲�ӿڰ�����ֱ�ӵء�͸���ذѱ���������Ӱ�䵽
Java�����棬���﷨����ʾ���ͨ�õIJ�ѯ���Լ�Java��Ƕ��
SQL�﷨��

����ϣ�������Ӧ�ÿ������߽�ʹ�����ǵ�API��Ȼ������Ҳ
ϣ�����Ա�ܹ�ʹ�����ǵ�API��������Ŀǰ������Java��û
���κ������ֶ�(Ӧ����˵��ݿ�����ֶ�)������¡�

2.2. ��ѭSQL

��ݿ�ϵͳ֧�ָ�ʽ�����SQL�﷨�����壬�����໥֮����
�Ƚϸ߼��Ĺ��������ⲿ���ӣ���Ƕ��̵ȷ��沢��һ�£���
�������ܹ���������ʱ���������Щ���ֵ�SQL���Ի�ñ�׼
����ͬʱ���Dz�ȡ�����̬����������

 In fact, an application query need not even be SQL, or it may be a
specialized derivative of SQL, e.g. for document or image queries,
designed for specific DBMSs.  In order to pass JDBC compliance tests and to be
called "JDBC
COMPLIANT �" we require that a driver support at least ANSI
SQL-2 Entry Level. This gives applications that want wide
portability a guaranteed least common denominator. We believe
ANSI SQL-2 Entry Level is reasonably powerful and is reasonably
widely supported today.

l JDBC�����ѯ���ʽֱ�Ӵ��ݵ��ײ�����������һ
��������Ի�þ������SQL���ܣ����ǿ��ܱ�DBMS��
����ʵ�ϣ�һ������IJ�ѯ�������Բ���SQL�ģ�����
��SQL��һ�������ݻ������磺Ϊר����ݿ���Ƶ��ı�
����ͼ�β�ѯ��

l Ϊ��ͨ��JDBC���ݵIJ��ԣ������ܹ�����ΪJDBC���ݣ�
����Ҫ��һ��������֧��ANSI SQL-2�ı�׼����ʹ����
Щ��Ҫ�㷺��ֲ�Եij�����һ����С�ķ�ĸ(��仰��ԭ
���ǣ�This gives applications that want wide portability a
guaranteed least common denominator.)����������ANSI
SQL-2���㹻ǿ��ģ������ǵõ��㹻֧�ֵġ�

2.3. JDBC������Խ��������е���ݿ�ӿ���

���DZ����ܹ���֤ JDBC SQL API �ܹ���������ͨ��SQL
API�ϣ�������ODBC����ЩҪ���Ѿ�������淶��һЩ����
������Ӱ�죬�����ǶԴ�������(OUT parameter)�ʹ���ݿ��
���?

2.4. ���뱣֤����ӿ���JAVAϵͳ������ֱ���һ��

Ŀǰ��JAVA�Ļ��Ӧ�Ѿ�ʮ�����ҡ��ܴ�̶�����������
�����Ա�׼�Լ���׼����ʱ�ⱻ��Ϊ��һ�£��򵥺�ǿ��ġ�
���ǽ����������ܣ��ṩ���Java��ݿ�ӿڣ�����ӿڽ���
����Java�ں����е����ַ�񣬲��ҽ���һ����ǿ��

2.5. ���ּ�

We would prefer to keep this base API as simple as possible, at
least initially. In general we would prefer to provide a single
mechanism for performing a particular task, and avoid provid-ing
duplicate mechanisms. We will extend the API later if any
important functionality is miss-ing.

���ǽ�����ʹ�û��API�����򵥣����ٿ�ʼ��ʱ��������
�ġ�һ����˵������ϣ���ʵ��ÿ���ض�������ֻ�ṩһ�ַ�
����������ṩ���ַ��������һЩ��Ҫ�Ĺ�����©�ˣ���ô
��������Щʱ���������API��

2.6. ��������ǿ�ġ���̬������

����ϣ�����JDBC API���־���ǿ�����ͼ�飬ʹ�þ�����
���������Ϣ���Ծ�̬�ر���ʹ�þ����ܶ�Ĵ��������
�����ʱ�򱻷��֡�

����SQL�����Ƕ�̬���͵ģ��������ǿ��ܻ��ڳ������е�ʱ
���������Ͳ���ƥ������⡣���磺��һ������Ա��ϣ��
SELECT����һ��������ʵ�ʷ��ص���һ���ַ�foo��.
����������Ȼϣ�����Ա��������ϣ��������ڱ����ʱ���
�ܹ����������������ǿ����������ܶ�ľ�̬��顣����Ҳ
ϣ���ڱ�Ҫ��ʱ���ܹ�֧�ֶ�̬���ͽӿڣ�������£�

2.7. ʹ��ͨ�����

����ϣ����ͨ�������ܹ��Ǽ򵥵ģ���һ��Ĺ����ǿ���
�ġ�

һ����ͨ������ָһ������Աִ��һ���򵥵�û�в����SQL
��䣨����:SELECT,INSERT,UPDATE,DELETE����Ȼ��(����
SELECT)���?�صľ��м����͵�Ԫ�顣һ�����д������
��IN parameter����SQL���Ҳ����ͨ�ġ�
����ô��ͨ����Ҳ��ʮ����Ҫ�������ǵ�����Աʹ����
INOUT,OUT�����SQL��䡣����Ҳ��Ҫ֧�ֶ�д�����ֽ�
�����SQL��䣬���ر�һЩ�����ΰ���һ����䷵���˶��
���ϡ�

����ϣ��Ԫ���(Meatdata)��ʹ�ú��ٵģ�ֻ����Щ�����ij���
Ա�Լ��������߲���Ҫ��������⡣Ԫ��ݴ�ȡ�����Լ���̬
������ݴ�ȡ����������ĵ�ĩβ��һ��ij���Ա���Բ��ع�
����Щ�½ڡ�

2.8. ��ͬ�Ĺ����ò�ͬ�ķ�����������ʵ��

������������ԭ���ǣ�method���������Ǹ�VB�ģ�
һ�ֽ�����Ʒ����ʹ�ú��ٵĹ�̣��ṩ�����Ϊ�����
�Ŀ��Ʊ�־���������ǿ�������Ӱ��ܴ�һ����Χ�ڵĸ�����
Ϊ������ﲻͬ�Ĺ��ܡ���������ʹ�úܶ�ķ���������ÿ��
�������Ƚ�ͬ����⡣

һ����˵��Java�ں���ʹ�ò�ͬ�ķ�����method���������
�����Ҫ�ŵ��ǿ�ʼѧϰ�����ij���Ա���Բ��ر���Щ��
���ӹ�����صIJ��������š�������ͼ��JDBC�ӿ���Ҳ����
��ͬ�IJ��ԡ�һ����˵���ò�ͬ�ķ������Dz��ò�ͬ�ı�־
�Ͷ���;�ķ�����
3. �ӿڸ�ò

�ӿڷ�Ϊ������Σ�һ����������򿪷���Ա��JDBC API��
����һ���ǵײ��JDBC Driver API��

3.1. JDBC API

JDBC API ��������Ϊ��������Java�ӿڣ��Ƶ�Ӧ�ó���Զ
���Զ�ij����ݿ�����ӣ�ִ��SQL��䲢�Ҵ�����
����! Ƕ�������Ч��

����Ҫ�Ľӿ��ǣ�

l java.sql.DriverManager   ������ĵ��벢�ҶԲ����µ�
��ݿ������ṩ֧�֡�

l java.sql.Connection �����ض���ݿ�����ӡ�

l java.sql.Statement �����һ���ض�������������һ���ض���
��ݿ�ִ��SQL��䡣

l java.sql.ResultSet �����ƶ�һ���ض���������ݵĴ�ȡ��
����java.sql.Statement�������������ͣ�

1. java.sql.PreparedStatement ������ִ��Ԥ�����SQL
��䡣
2. java.sql.CallableStatement ������ִ�ж�һ����ݿ�
��Ƕ��̵ĵ��á�

������½ڶ�JDBC��������е��ṩ�˸���������������
���13�¡������15��������ϵͳ����ȡ��ݿ��Ԫ���
��Ϣ��

3.2. JDBC Driver API

java.sql.Driver�ڵ�9��������Ķ�����.�󲿷�JDBC��ֻ��
Ҫ�����ЩJDBC API����ij�����Ϳ����ˡ��ر�أ�����
��driver�����ṩ��java.sql.Connection, java.sql. State-ment,
java.sql.Prepared��Statement, and java.sql.ResultSet��ʵ�֡����
Ŀ��DBMS�ṩ��OUT�������Ƕ��̣���ô�������ṩ
java.sql.CallableStatement �ӿڡ�

ÿ��database driver�����ṩһ���ࣺjava.sql.Driver��ʹ��ϵͳ
������ java.sql.DriverManager�����?
һ����Ȼ��driver����ODBC֮���ṩ��JDBC��ʵ�֣��Ӷ���
����ODBC�ӿڵ�JDBC-ODBC �ţ�����ǰ���ͼ����ʾ��.��
��JDBC����ODBC֮������ʵ�������򵥶��Ҹ�Ч��
����һ�����õ���ֱ�ӽӴ���ݿ��޹ص�����Э�顣����һ
��Э��������������ʵ�ֵķ�����������ODBC�����ض���
DBMS�ϣ������Ѿ�����һЩʹ�ù̶�Э��IJ�Ʒ����������
�����������ʵ�ֱ�׼���������ǿ�ȡ�ġ�


--

�� ��Դ:���ɰ��ļ�BBSվ bbs.njtu.edu.cn��[IP: 202.112.145.26]
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads