���,
�ҹ�˾Intergraph Deutschland GmbH������˹�˾��ƷHXTT Access v2.0���Ҹ���д����ݿ�ij�����MS Access�õ��˹�˾��JDBC Driver��������֪��MS Access�õ���JET engine��Access�ĵ�д����SQL Syntax��˾��Ʒ�ĵ�����Ĵ��ڲ��졣����Data Type���컹�ܴ�����IMAGE in Access vs OTHER(OLE)��Data Type���ҵij���Ĺؼ�֡���Ӧ�����ļҵ�SQL Syntax�أ�
Gruss Zhen
|
����SQL Syntax���ɣ���ΪHXTT Access�õ��Ǵ�Java���棬��MS Accessû��ʲô��ϵ�����˸�ʽ�ϼ����⣬������Ͳμ�SQL Data Types for Create Table���ɣ�������������ʣ����Ƕ��ἰʱ֧�֣���������ش��룬���x������롣����HXTT Access��֧��JDBC��SQL���ģ���д�Ĵ��뽫��������ֲ��
|
Could you show the mapping from jdbc type to database native type of your driver, for example ARRAY is mapped to which database native type?
Gruss Zhen
|
��SQL Data Types for Create Table��SQL Type��������ֵ����4��java.sql.Types��ARRAY��û���г��ԭ������ΪMS Access��û�ж�Ӧ��������͡�
|
�е��Ϳ�ˣ�BLOB��MS Access��Ҳû�ж�Ӧ���ͣ���дSQL Query��ʱ����BLOB������OTHER(OLE)�أ��ҵij������Apache DdlUtils that you can access under http://db.apache.org/ddlutils/��
|
>BLOB��MS Access��Ҳû�ж�Ӧ���ͣ���дSQL Query��ʱ����BLOB������OTHER(OLE)�أ�
����BLOB���Ա�ӳ�䵽OLE������ȥ��
>дSQL Query��ʱ����BLOB������OTHER(OLE)��
�<��㲻��ָ��ѯ������ָcreate table�ɣ��������ã�����ʹ��BLOB��������ֲ��}�߶��ᱻӳ�䵽OLE������ȥ
��˵��4����������ARRAYʵ�������MS Access�еõ�Ӧ�ã����ǿ��Գ���ʹ��JAVA_OBJECT����4����֧�֣���ʵҲ����ӳ�䵽OLE������ȥ�������������漰����serializeһ��Array������Ҫ��Array����а汾���?���ӵ㡣���ǿ���������Ŀ�������ṩ����֧�֡�
|
��������SQL Syntax�ǻ��ڱ��ģ��Ҳ���Ҫ����ӳ���ˣ����ǵIJ�Ʒ����mapping BLOB to OLE�ء�������������
Gruss Zhen
|
��ָ����create table, alter table and so on��Щddl��
|
/**
* Tests the column types.
*/
public void testColumnTypes() throws Exception
{
assertEqualsIgnoringWhitespaces(
"DROP TABLE \"coltype\";\n"+
"CREATE TABLE \"coltype\"\n"+
"(\n"+
" \"COL_ARRAY\" JAVA_OBJECT,\n"+
" \"COL_BIGINT\" BIGINT,\n"+
" \"COL_BINARY\" BINARY(254),\n"+
" \"COL_BIT\" BIT,\n"+
" \"COL_BLOB\" BLOB,\n"+
" \"COL_BOOLEAN\" BOOLEAN,\n"+
" \"COL_CHAR\" CHAR(15),\n"+
" \"COL_CLOB\" CLOB,\n"+
" \"COL_DATALINK\" JAVA_OBJECT,\n"+
" \"COL_DATE\" DATE,\n"+
" \"COL_DECIMAL\" DECIMAL(15,3),\n"+
" \"COL_DECIMAL_NOSCALE\" DECIMAL(15,0),\n"+
" \"COL_DISTINCT\" JAVA_OBJECT,\n"+
" \"COL_DOUBLE\" DOUBLE,\n"+
" \"COL_FLOAT\" FLOAT,\n"+
" \"COL_INTEGER\" INT,\n"+
" \"COL_JAVA_OBJECT\" JAVA_OBJECT,\n"+
" \"COL_LONGVARBINARY\" LONGVARBINARY,\n"+
" \"COL_LONGVARCHAR\" LONGVARCHAR,\n"+
" \"COL_NULL\" JAVA_OBJECT,\n"+
" \"COL_NUMERIC\" NUMERIC(15,0),\n"+
" \"COL_OTHER\" OTHER(OLE),\n"+
" \"COL_REAL\" REAL,\n"+
" \"COL_REF\" JAVA_OBJECT,\n"+
" \"COL_SMALLINT\" SMALLINT,\n"+
" \"COL_STRUCT\" JAVA_OBJECT,\n"+
" \"COL_TIME\" TIME,\n"+
" \"COL_TIMESTAMP\" TIMESTAMP,\n"+
" \"COL_TINYINT\" TINYINT,\n"+
" \"COL_VARBINARY\" VARBINARY(15),\n"+
" \"COL_VARCHAR\" VARCHAR(15)\n"+
");\n",
createTestDatabase(COLUMN_TEST_SCHEMA));
}
|
>���ǵIJ�Ʒ����mapping BLOB to OLE�ء�������������
��
>create table, alter table and so on��Щddl
alter tableĿǰֻ֧�ָ�ı�����ڱ�ṹ�IJ�֧��
>"DROP TABLE \"coltype\";\n"+
���ʹ��"DROP TABLE if exists \"coltype\";\n"+ ����Ļ��ܹ��ظ�����
>" \"COL_TINYINT\" TINYINT,\n"+
�ĵ�û��д�����ʵ����MS Access��֧��TINYINT(-127~128)����ȻMS Access����byte���ͣ�0~255)���ϰ汾���׳�TINYINT���Ͳ�֧�ֵ���ʾ�������ĵ��Ѿ��ij�Unavailing, map TINYINT into SMALLINT��ӳ�䵽short��ȥ�ˣ����������°汾HXTT Access���ɡ�
|
������alter table�ı�Ľṹ����ôʵ�ְ����ĵ����ᵽ��֧��DEFAULT��auto increment, foreign key, identity of the last inserted row and so on�ĵ��ж�û�б���
�����ҵ���Ŀ��DDL��DML��Ҫ�Ķడ���Ҹ���ô�찡��Ҫ���ϰ����ˡ�
DdlUtils֧�ֵ���ݿ����http://db.apache.org/ddlutils/database-support.html������������Ҫ�ġ�
лл�㡣
|
>������alter table�ı�Ľṹ����ôʵ�ְ���
һ��취��ʹ��Bulk Insert����һ���µı?Ȼ��ɾ��ɱ?���±����ɾɱ?�ɡ�
>�ĵ����ᵽ��֧��DEFAULT��
���֧�֡�
>auto increment, foreign key,
��֧����sql�д�����Щ���ԣ��������ʹ��MS Access�����ı�����Щ���ԣ�����insert/update/deleteʱ���Զ�ά������(cascading updates and cascading deletes����֧�ֵġ�
>identity of the last inserted row and so on�ĵ��ж�û�б���
�����֧�ֵģ��μ�JDBC����Statement.executeUpdate(String sql, int autoGeneratedKeys)��Statement.getGeneratedKeys()���ɡ�
>DdlUtils֧�ֵ���ݿ����http://db.apache.org/ddlutils/database-support.html��
>����������Ҫ�ġ�
���ڿͻ����ǶԾ���MS Access��ݿ���в����û˭Ҫ��ʹ��alter tableƵ������ݿ⣬��˸ù���û���ṩ�����ǻ��о�һ��DdlUtils�������ܷ��������Ŀ�����������Ҫ�ṩalter table֧�֣�Ҳ��Ҫ���ĵȵȣ�����������ʲô��Ŀ����
|
����ȥDdlUtils���Ǹ���Σ�lԴ��Ͷ����ư�û�з�������Ҫ��svn���ء�
|
> ��������ʲô��Ŀ����
Metadata Database is a key part of our webmap application that is developed now. Meanwhile the stable release has been delivered to our clients. But the ongoing development makes database schema change very often, for example a new column of one table has been added. The old database schema muss be upgrade to obtain the same state as the new one, so clients can use add-on features of the new version.
The idea from DdlUtils indicates that metadata that are extract from a live database are used to feed the database domain model, then we can utilize the domain model to achieve our goals.
|
v2.0.041 supports fully ALTER TABLE sql.
v2.0.041 supports DROP INDEX sql.
You can download it after about 2 hours.
|