Sun logo      ��һҳ      Ŀ¼      ��һҳ     

Sun Java System Application Server Enterprise Edition 8.1 ����ָ�� 2005Q1

�� 6 ��
JDBC ��Դ

����˵��������÷�����ݿ��Ӧ�ó�������� JDBC ��Դ�����°����¼��ڣ�


���� JDBC ��Դ

JDBC ��Դ

Ϊ�˴洢����֯�ͼ�����ݣ������Ӧ�ó��򶼲����˹�ϵ��ݿ⡣J2EE Ӧ�ó���ͨ�� JDBC API ���ʹ�ϵ��ݿ⡣

JDBC ��Դ�����Դ��ΪӦ�ó����ṩ��l����ݿ�ķ�����ͨ��������ԱҪΪ���������е�Ӧ�ó�����ʵ�ÿ����ݿⴴ�� JDBC ��Դ�������ǣ�����Ϊһ����ݿⴴ����� JDBC ��Դ����

Ҫ���� JDBC ��Դ����ָ����ʶ��Դ��Ψһ JNDI ��ơ�����μ�JNDI ��ƺ���Դ�����֡���JDBC ��Դ�� JNDI ���Ӧ�� java:comp/env/jdbc ���������С����磬���ʵ���ݿ���Դ�� JNDI ��ƿ���Ϊ java:comp/env/jdbc/payrolldb������������Դ JNDI ���λ�� java:comp/env ���������У������ڹ������̨��ָ�� JDBC ��Դ�� JNDI ���ʱ�������� jdbc/name�����磬���ڹ��ʵ���ݿ⣬����ָ�� jdbc/payrolldb��

JDBC l�ӳ�

Ҫ���� JDBC ��Դ����ָ�������j��l�ӳء���� JDBC ��Դ����ָ��һ��l�ӳء�

JDBC l�ӳ��������ض���ݿ��һ����ظ�ʹ�õ�l�ӡ�����ÿ����һ���µ�����l�Ӷ���ķ�ʱ�䣬��˷�����ά���˿���l�ӳ���������ܡ�Ӧ�ó�������l��ʱ���Դӳ��л�ȡһ��l�ӡ�Ӧ�ó���ر�l��ʱ��l�ӽ����ص����С�

l�ӳص����Կ��ܻ�����ݿ⹩Ӧ�̵IJ�ͬ������ͬ����һЩ������ͨ�õģ�����ݿ���� (URL)���û�������롣

JDBC ��Դ��l�ӳ����Эͬ����

Ϊ�˴洢����֯�ͼ�����ݣ������Ӧ�ó��򶼲����˹�ϵ��ݿ⡣J2EE Ӧ�ó���ͨ�� JDBC API ���ʹ�ϵ��ݿ⡣Ӧ�ó��������һ��l��֮��ſ��Է�����ݿ⡣

����������ʱӦ�ó���l�ӵ���ݿ�ʱ��������

  1. Ӧ�ó���ͨ�� JNDI API ���е��û�ȡ����ݿ��j�� JDBC ��Դ�����Դ����
  2. ����Դ�� JNDI ��ơ������Ŀ¼����λ JDBC ��Դ��ÿ�� JDBC ��Դָ��һ��l�ӳء�

  3. ͨ�� JDBC ��Դ��Ӧ�ó�����һ����ݿ�l�ӡ�
  4. Ӧ�ó�����������ܵش������ݿ����Ӧ��l�ӳ��м�������l�ӡ��ض�������ݿ���� (URL)���û���������l�����ԡ�

  5. �����ѽ�Ӧ�ó���l�ӵ���ݿ⣬���Ը�Ӧ�ó�����Զ�ȡ���޸���ݿ��е�����Լ��������ӵ���ݿ��С�
  6. Ӧ�ó���ͨ��� JDBC API ���е���4������ݿ⡣JDBC �����Ӧ�ó���� JDBC ����ת��Ϊ��ݿ�������Э�顣

  7. ������ݿ����֮��Ӧ�ó��򽫹رո�l�ӡ�
  8. Ӧ�ó��������l�ӷ���l�ӳء�l�ӷ���l�ӳ�֮����һ��Ӧ�ó���Ϳ���ʹ�ø�l�ӡ�


������ݿ����

������ݿ���ʵ�һ�㲽��

  1. ��װ֧�ֵ���ݿ��Ʒ���й� Application Server ֧�ֵ���ݿ��Ʒ���б?��μ�����Ϣ��������ָ����˵���t�ӡ�
  2. ��װ�����ڸ���ݿ��Ʒ�� JDBC �����
  3. ʹ��ķ�����ʵ����Է��ʴ������� JAR �ļ�����μ����� JDBC ���������
  4. ������ݿ⡣ͨ����Ӧ�ó���Ӧ���ṩ�����ڴ����������ݿ�Ľű���
  5. Ϊ��ݿⴴ��l�ӳء���μ����� JDBC l�ӳ�����
  6. ����ָ��l�ӳص� JDBC ��Դ����μ����� JDBC ��Դ����

���� JDBC �����

JDBC �����Ӧ�ó���� JDBC ����ת��Ϊ��ݿ�������Э�顣Ҫ�� JDBC ����򼯳ɵ��������У���ִ�����²���֮һ��


���� JDBC l�ӳ�

���� JDBC l�ӳ�

JDBC l�ӳ��������ض���ݿ��һ����ظ�ʹ�õ�l�ӡ�ʹ�ù������̨������ʱ������Աʵ�����ڶ��嵽�ض���ݿ��l�ӵĸ���档

������֮ǰ����������Ȱ�װ������ JDBC �����

���á�����l�ӳء�ҳ��ʱ�����������ض��� JDBC ��������ݿ⹩Ӧ�̵��ض���ݡ�����֮ǰ�������ռ�������Ϣ��

Ҫ���� JDBC l�ӳأ���ִ�����²��裺

  1. ��������У�չ������Դ���ڵ㡣
  2. �ڡ���Դ���ڵ��£�չ����JDBC���ڵ㡣
  3. �ڡ�JDBC���ڵ��£�ѡ��l�ӳء��ڵ㡣
  4. �ڡ�l�ӳء�ҳ���У������½�����
  5. �ڡ�����l�ӳء��ĵ�һ��ҳ���У�ָ�����³������ã�
    1. �ڡ���ơ��ֶ��У�����ص��߼���ơ�
    2. ���� JDBC ��Դʱ��ָ������ơ�

    3. �ӡ���Դ���͡���Ͽ���ѡ��һ����Ŀ��
    4. �ӡ���ݿ⹩Ӧ�̡���Ͽ���ѡ��һ����Ŀ��
  6. ������һ������
  7. �ڡ�����l�ӳء��ĵڶ���ҳ���У�Ϊ��DataSource �����ֶ�ָ��ֵ��
  8. ��� JDBC ��������������һҳ��ָ������Դ���ͺ���ݿ⹩Ӧ����Ӧ�� DataSource �࣬��ϵͳ���ṩ��DataSource �����ֶε�ֵ��

  9. ������һ������
  10. �ڡ�����l�ӳء��ĵ����Ҳ�����һ��ҳ���У�ִ����������
    1. �ڡ��������á������У�������ֵ�Ƿ���ȷ��
    2. ���ڡ������á�����l����֤���͡�������롱�����е��ֶΣ�����Ĭ��ֵ��
    3. �Ժ�����Щ���÷dz����㡣��μ�༭ JDBC l�ӳء���

    4. �ڡ��������ԡ����У���ӱ�������ԣ�����ݿ���� (URL)���û�������롣
  11. ������ɡ���

��Ч�� asadmin ����Ϊ��create-jdbc-connection-pool

�༭ JDBC l�ӳ�

���༭ JDBC l�ӳء�ҳ��ʹ����Ը�����гص��������ã��ص���Ƴ��⣩��

Ҫ���ʡ��༭ JDBC l�ӳء�ҳ�棬��ִ�����²��裺

  1. ��������У�չ������Դ���ڵ㡣
  2. �ڡ���Դ���ڵ��£�չ����JDBC���ڵ㡣
  3. �ڡ�JDBC���ڵ��£�չ����l�ӳء��ڵ㡣
  4. ѡ��Ҫ�༭�ijصĽڵ㡣
  5. �ڡ��༭ JDBC l�ӳء�ҳ���н��б�Ҫ�ĸ�ġ�
  6. �йؿ��Ը�ĵ����õ�˵����μ����¸��֡�

  7. ������桱��

��������

�������õ�ֵȡ���ڰ�װ���ض� JDBC �������Щ������ Java ��������е������ӿ���ơ�

�� 6-1 JDBC l�ӳصij�������

����

˵��

DataSource ����

ʵ�� DataSource/ConnectionPoolDataSource/XADataSource API ���ض��ڹ�Ӧ�̵��������λ�� JDBC ������С�

��Դ����

ѡ���( javax.sql.DataSource�������ڱ������񣩡�javax.sql.XADataSource��ȫ�����񣩺� java.sql.ConnectionPoolDataSource�������������ܿ��ܻ���ߣ���

������

һ��������ݿ�l�ӱ����ڳ��С�Ӧ�ó�������l��ʱ�����ӳ���ɾ���l�ӣ���Ӧ�ó����ͷŸ�l��֮��l�ӽ����ص����С�

�� 6-2 JDBC l�ӳصij�����

����

˵��

��ʼ����С�ش�С

����l�ӵ���С��Ŀ����ֵ��ȷ�����״δ����ػ�Ӧ�ó����������ʱ�����ڳ��е�l�ӵ���Ŀ��

���ش�С

����l�ӵ������Ŀ��

�ش�С������

��������С�ش�С��������ʱ������������С����ֵȷ�������е�l����Ŀ������ֵ���õù�󣬻��ӳ�l�ӻ��գ�����ֵ���õù�С����ή��Ч�ʡ�

���г�ʱ

l���ڳ��б��ֿ��е��ʱ�䣨����Ϊ��λ����һ�������ʱ�䣬���ӳ���ɾ���l�ӡ�

��ȴ�ʱ��

�ڴﵽl�ӳ�ʱ֮ǰ������l�ӵ�Ӧ�ó�����ȴ��ʱ�䡣����Ĭ�ϵȴ�ʱ���Ӧ�ó�����ܻ���������ڹ�������

l����֤

����ѡ��Ӧ�ó������������ڽ�l�Ӵ��͸�Ӧ�ó���֮ǰ��֤l�ӡ��������������ֹ��ϻ���ݿ�������#�����ݿⲻ���ã�����֤������Ӧ�ó���������Զ����½�b��ݿ�l�ӡ�l����֤���4���⿪���ᵼ�����������½���

�� 6-3 JDBC l�ӳص�l����֤����

����

˵��

l����֤

ѡ�С���Ҫ����ѡ��������l����֤��

��֤����

Ӧ�ó�����������ʹ�����ַ���4��֤��ݿ�l�ӣ��Զ��ύ��Ԫ��ݺͱ?

  • �Զ��ύ��Ԫ��ݡ���Ӧ�ó��������ͨ����� con.getAutoCommit() ������ con.getMetaData() ����4��֤l�ӡ����ǣ�������� JDBC �������ٻ�������Щ���õĽ�������}�ַ����޷�ʼ���ṩ�ɿ�����֤�����������Ӧ�̽��к�ʵ����ȷ����Щ�����Ƿ񱻸��ٻ��档
  • ��Ӧ�ó��򽫲�ѯָ������ݿ�?�������ڲ��ҿ��Է��ʣ�����Ҫ���������벻Ҫʹ�ð�����е����б�򾭳����ʵı?

������

���ӡ���֤��������Ͽ���ѡ���˱?���ڴ�ָ����ݿ�����ơ�

һ��ʧ��

���ѡ�б��С��ر�����l�ӡ��ĸ�ѡ���򵥸�l��ʧ��ʱ��Ӧ�ó��������رճ��е�����l�ӣ�Ȼ�����½�b��Щl�ӡ����δѡ�д˸�ѡ�����Ҫʹ�ø��l��ʱ�Ż����½�bl�ӡ�

�������

��������û�ͨ�����Բ��з���һ����ݿ⣬��˿��ܳ���һ�������ڸ�����ݶ���һ�������Զ�ȡͬһ��ݵ��������ĸ��뼶���������ڸ��µ���ݶ�����������Ŀɼ�̶ȡ��йظ��뼶�����ϸ���ϣ���μ���ݿ⹩Ӧ�̵��ĵ���

�� 6-4 JDBC l�ӳص������������

����

˵��

�������

ʹ�����Ϊ�óص�l��ѡ��������뼶�����ָ���˲���l�ӽ�ʹ�� JDBC ������ṩ��Ĭ�ϸ��뼶����в���

��֤���뼶��

�������ָ���˸��뼶�������²����á����ѡ�С���֤����ѡ����ӳ��л�ȡ������l�Ӷ�������ͬ�ĸ��뼶�����磬����ϴ�ʹ��l��ʱͨ���̷�ʽ��ʹ�� con.setTransactionIsolation�������l�ӵĸ��뼶�𣬴˻��ƻὫ״̬��Ļ�ָ���ĸ��뼶��

����

�ڡ��������ԡ����У�����ָ����ݿ���� (URL)���û������������ԡ���������ݿ⹩Ӧ�̵IJ�ͬ������Ҳ������ͬ�������ο���Ӧ�̵��ĵ����˽��й���ϸ��Ϣ��

����l�ӳ�����

Ҫ����l�ӳ����ã���ִ�����²��裺

  1. ����ݿ������
  2. ����Ping����
  3. �������̨������l�ӵ���ݿ⡣�����ʾ������Ϣ��������ݿ�������Ƿ����������

ɾ�� JDBC l�ӳ�

  1. ��������У�չ������Դ���ڵ㡣
  2. �ڡ���Դ���ڵ��£�չ����JDBC���ڵ㡣
  3. �ڡ�JDBC���ڵ��£�ѡ��l�ӳء��ڵ㡣
  4. �ڡ�l�ӳء�ҳ���У�ѡ��Ҫɾ��ijصĸ�ѡ��
  5. ����ɾ��

��Ч�� asadmin ����Ϊ��delete-jdbc-connection-pool


���� JDBC ��Դ

���� JDBC ��Դ

JDBC ��Դ�����Դ��ΪӦ�ó����ṩ��l����ݿ�ķ��������� JDBC ��Դ֮ǰ�����ȴ��� JDBC l�ӳء�

Ҫ���� JDBC ��Դ����ִ�����²��裺

  1. ��������У�չ������Դ���ڵ㡣
  2. �ڡ���Դ���ڵ��£�չ����JDBC���ڵ㡣
  3. �ڡ�JDBC���ڵ��£�ѡ��JDBC ��Դ���ڵ㡣
  4. �ڡ�JDBC ��Դ��ҳ���У������½�����
  5. �ڡ����� JDBC ��Դ��ҳ���У�ָ����Դ�����ã�
    1. �ڡ�JNDI ��ơ��ֶ��У�����Ψһ����ơ�����Լ���������Ӧ�� jdbc/ �ַ�ͷ�����磺jdbc/payrolldb���벻Ҫ�����б�ܡ�
    2. �ӡ�����ơ���Ͽ���ѡ��Ҫ���µ� JDBC ��Դ��j��l�ӳء�
    3. Ĭ������£�������Դ֮��b������ʹ����Դ�������ã������Ҫʹ��Դ�����ã���ȡ��ѡ�С������á���ѡ��
    4. �ڡ�˵���ֶ��У�������Դ�ļ��˵��
    5. �ڡ�Ŀ�ꡱ���֣�ָ�����п�����Դ��Ŀ�꣨Ⱥ���Ͷ�b������ʵ�������ѡ�������Ŀ�꣬Ȼ�󵥻���ӡ��Խ�����ӵ�ѡ��Ŀ����б��С�
  6. ����ȷ������

��Ч�� asadmin ����Ϊ��create-jdbc-resource

�༭ JDBC ��Դ

  1. ��������У�չ������Դ���ڵ㡣
  2. �ڡ���Դ���ڵ��£�չ����JDBC���ڵ㡣
  3. �ڡ�JDBC���ڵ��£�չ����JDBC ��Դ���ڵ㡣
  4. ѡ��Ҫ�༭�� JDBC ��Դ�Ľڵ㡣
  5. �ڡ��༭ JDBC ��Դ��ҳ���У�����ִ����������

    1. �ӡ�����ơ���Ͽ���ѡ������l�ӳء�
    2. �ڡ�˵���ֶ��У������Դ�ļ��˵��
    3. ѡ�л�ȡ��ѡ�и�ѡ�������û������Դ��
    4. ѡ��Ŀ�ꡱѡ����Ը�ľ��п�����Դ��Ŀ�꣨Ⱥ���Ͷ�b������ʵ��
    5. ѡ���б��е�����Ŀ��ĸ�ѡ��Ȼ�󵥻����á������ø�Ŀ�����Դ�����ߵ�����á��Խ��ø�Ŀ�����Դ��

      �������Ŀ�ꡱ�������б�����ӻ�ɾ��Ŀ�ꡣ�ڡ�����Ŀ�ꡱҳ���У������ġ����á��б���ѡ�������Ŀ�꣬Ȼ�󵥻���ӡ��Խ�����ӵ�ѡ��Ŀ����б��С�����ɾ����Դӡ���ѡ���б���ɾ��Ŀ�ꡣ

      ����ȷ�������Ա���Կ���Ŀ��ĸ�ġ�

  6. ������桱��Ӧ�ñ༭��

ɾ�� JDBC ��Դ

  1. ��������У�չ������Դ���ڵ㡣
  2. �ڡ���Դ���ڵ��£�չ����JDBC���ڵ㡣
  3. �ڡ�JDBC���ڵ��£�ѡ��JDBC ��Դ���ڵ㡣
  4. �ڡ�JDBC ��Դ��ҳ���У�ѡȡҪɾ�����Դ�ĸ�ѡ��
  5. ����ɾ��

���úͽ��� JDBC ��Դ

  1. ��������У�չ����JDBC ��Դ���ڵ��չ������bʵ����ѡ�񡰷�����ʵ��ڵ���Դ��ѡ���
  2. �ڡ���Դ��ҳ���У�ѡ��Ҫ���û���õ���Դ�ĸ�ѡ��
  3. �������á��򡰽��á���


���� Persistence Manager ��Դ

�����־��Թ�������Դ

��������Ҫ�˹��ܡ�Ҫ�ڰ汾 7 �� Application Server �����У�ʹ���������ij־��� Bean��һ�� EJB �������Ӧ�ó�����Ҫ�־��Թ�������Դ��

Ҫ���� Persistence Manager ��Դ����ִ�����²��裺

  1. ��������У�չ������Դ���ڵ㡣
  2. �ڡ���Դ���ڵ��£�ѡ�񡰳־��Թ�����ڵ㡣
  3. �ڡ��־��Թ�����ҳ���У������½�����
  4. �ڡ����� Persistence Manager��ҳ���У�ָ���������ã�
    1. �ڡ�JNDI ��ơ��ֶ��У�����Ψһ����ƣ����磺jdo/mypm���벻Ҫ�����б�ܡ�
    2. �ڡ������ࡱ�ֶ��У�����˰汾�ṩ��Ĭ���࣬���������ʵ���ࡣ
    3. �ӡ�l�ӳء���Ͽ���ѡ���µ� Persistence Manager ��Դ�����l�ӳء�
    4. Ĭ������£��������µij־��Թ�������Դ��Ҫ������ã���ȡ��ѡ�С������á���ѡ��
    5. �ڡ�Ŀ�ꡱ���֣�ָ�����п�����Դ��Ŀ�꣨Ⱥ���Ͷ�b������ʵ�������ѡ�������Ŀ�꣬Ȼ�󵥻���ӡ��Խ�����ӵ�ѡ��Ŀ����б��С�
  5. ����ȷ������

��Ч�� asadmin ����Ϊ��create-persistence-resource

�༭�־��Թ�������Դ

Ҫ�༭���еij־��Թ�������Դ���ԣ���ִ�����²��裺

  1. �ڡ��༭�־��Թ��������ԡ�ѡ��У�ѡ��������ԡ���ť��
  2. ���������ԡ����н����һ�����С�

  3. �����������Ժ�ֵ��

������ԴĿ��

Ҫ������ԴĿ�꣬��ִ�����²��裺

  1. ѡ��Ŀ�ꡱѡ����Ը����Դ���ڵ�Ŀ�꣨Ⱥ���Ͷ�b������ʵ��
  2. ѡ���б��е�����Ŀ��ĸ�ѡ��Ȼ�󵥻����á������ø�Ŀ�����Դ�����ߵ�����á��Խ��ø�Ŀ�����Դ��
  3. �������Ŀ�ꡱ�������б�����ӻ�ɾ��Ŀ�ꡣ�ڡ�����Ŀ�ꡱҳ���У������ġ����á��б���ѡ�������Ŀ�꣬Ȼ�󵥻���ӡ��Խ�����ӵ�ѡ��Ŀ����б��С�����ɾ����Դӡ���ѡ���б���ɾ��Ŀ�ꡣ
  4. ����ȷ�������Ա���Կ���Ŀ��ĸ�ġ�
  5. ������桱��

ɾ��־��Թ�������Դ

  1. ��������У�չ�����־��Թ�����ڵ㡣
  2. ѡ�񡰳־��Թ�����ڵ㡣
  3. �ڡ��־��Թ�����ҳ���У�ѡ��Ҫɾ��ij־��Թ�����ĸ�ѡ��
  4. ����ɾ��

��Ч�� asadmin ����Ϊ��delete-persistence-resource

���úͽ��ó־��Թ�������Դ

  1. ��������У�չ�����־��Թ�����ڵ㡣
  2. ѡ��Ҫ���û���õ���Դ�ĸ�ѡ��
  3. �������á��򡰽��á���



��һҳ      Ŀ¼      ��һҳ     


��Ȩ���� 2004 - 2005 Sun Microsystems, Inc. ��������Ȩ��