发新话题
打印

如何实现sql库与access库之间的互转!

如何实现sql库与access库之间的互转!

如何实现sql库与access库之间的互转!

TOP

用SQL Server的企业管理器,进行导入导出试一试,如果是用程序,直接用ADO就可以搞定,循环写表就可以了。
换个头像,看见广告就眼红,直接封ID。

TOP

多谢了

我使用ADO来写的通用的ACCESS和SQL通用的互导程序,流程是这样的:(全部是程序实现)
1。先创建ACCESS库
2。然后在ACCESS数据库中创建数据表其结构是 从SQL库中提取的数据表,并把相应的表名、字段及字段的类型对应到ACCESS数据库中
现在的问题是:Set destF = destT.CreateField(SQLColume.Fields(i).Name, FieldType(SQLColume.Fields(i).Type), SQLColume.Fields(i).DefinedSize)
            destT.Fields.Append destF

老是提示说数据类型转换错误 请指点一下这个地方该用什么转换!
多谢了!!!!!

TOP

对了,有些数据结构Access和SQL不一样,可以对应一下
等效的 ANSI SQL 数据类型下列表列出了 ANSI SQL 数据类型和等效的 Microsoft Jet 数据库引擎 SQL数据类型还有它们的有效同义字。并且列出了 等效的 Microsoft SQL服务器数据类型。
ANSI SQL
的数据类型
Microsoft Jet
SQL 的数据类型

同义字Microsoft SQL
服务器数据类型
BIT,BIT VARYINGBINARY(请参阅注意)VARBINARY,
BINARY VARYING
BIT VARYING
BINARY, VARBINARY
不支持BIT(请参阅注意)BOOLEAN,LOGICAL,LOGICAL1,YESNOBIT
不支持TINYINTINTEGER2,SMALLINTTINYINT
不支持COUNTER(参见注意)AUTOINCREMENT(参见注意)
不支持MONEYCURRENCYMONEY
DATE,TIME,TIMESTAMPDATETIMEDATE, TIME (参见注意)DATETIME
不支持UNIQUEIDENTIFIERGUIDUNIQUEIDENTIFIER
DECIMALDECIMALNUMERIC, DECDECIMAL
REALREALSINGLE, FLOAT4, IEEESINGLE REAL
DOUBLE PRECISION,FLOATFLOATDOUBLE, FLOAT8, IEEEDOUBLE, NUMBER (参见注意)FLOAT
SMALLINTSMALLINTSHORT, INTEGER2 SMALLINT
INTEGERINTEGERLONG, INT, INTEGER4INTEGER
INTERVAL不支持 不支持
不支持IMAGELONGBINARY, GENERAL, OLEOBJECTIMAGE
不支持TEXT (参见注意)LONGTEXT, LONGCHAR, MEMO, NOTE, NTEXT (参见注意)TEXT
CHARACTER, CHARACTER VARYING, NATIONAL CHARACTER, NATIONAL CHARACTER VARYINGCHAR (参见注意)TEXT(n), ALPHANUMERIC, CHARACTER, STRING, VARCHAR, CHARACTER VARYING, NCHAR, NATIONAL CHARACTER, NATIONAL CHAR, NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING (参见注意)CHAR, VARCHAR, NCHAR, NVARCHAR

注意
  • ANSI SQL BIT数据类型与 the Microsoft Jet SQL BIT 数据类型不对应。而与 BINARY 数据类型对应。ANSI SQL 并没有等效于 Microsoft Jet SQL 的 BIT 的数据类型。
  • TIMESTAMP不再作为DATETIME的同义字被支持。
  • NUMERIC 不再作为 FLOAT或 DOUBLE的同义字被支持。NUMERIC现在被用作DECIMAL的同义字。
  • LONGTEXT字段总被储存于 Unicode 表示格式.
  • 如果数据类型名 TEXT被使用而未说明任选长度,例如 TEXT(25), LONGTEXT字段会被创建。这使得 CREATE TABLE 语句能被写成让数据类型同 Microsoft SQL 服务器保持一致。
  • CHAR字段总被储存于 Unicode 表示格式,和 ANSI SQL NATIONAL CHAR 数据类型等效。
  • 如果数据类型名 TEXT 被使用而未说明任选长度,例如 TEXT(25),则这一字段的数据类型与 CHAR 数据类型等效。这样既保持了对 Microsoft Jet应用程序的向后兼容,又使 TEXT 数据类型(没有长度说明) 能用 Microsoft SQL服务器定位。


  




JET SQL 数据类型参考

SQL 数据类型Microsoft Jet 数据库引擎 SQL 数据类型 由13个基本数据类型组成,它们是由 Microsoft Jet 数据库引擎和几个验证过的有效同义字定义的。
下面的表格列出了主要数据类型。这些同义字在 Microsoft Jet 数据库引擎 SQL 保留字中被识别。
数据类型存储大小说明
BINARY每个字符占一个字节任何类型的数据都可存储在这种类型的字段中。不需数据转换(例如,转换到文本数据)。数据输入二进制字段的方式决定了它的输出方式。
BIT1 个字节Yes 和 No ,以及只包含这两个数值之一的字段。
TINYINT1 个字节介于 0 到 255 之间的整型数。
MONEY8 个字节介于 –922,337,203,685,477.5808 到 922,337,203,685,477.5807 之间的符号整数。
DATETIME
(清参阅 DOUBLE )
8 个字节介于 100 到 9999 年的日期或时间数值。
UNIQUEIDENTIFIER128 个位用于远程过程调用的唯一识别数字。
REAL4 个字节单精度浮点数,负数范围是从 –3.402823E38 到 –1.401298E-45,正数从1.401298E-45 到 3.402823E38,和 0。
FLOAT8 个字节双精度浮点数,负数范围是从 –1.79769313486232E308 到 –4.94065645841247E-324,正数从 4.94065645841247E-324 到 1.79769313486232E308,和 0。
SMALLINT2 个字节介于 –32,768 到 32,767 的短整型数。
INTEGER4 个字节介于 –2,147,483,648 到 2,147,483,647 的长整型数。
DECIMAL17 个字节容纳从 1028 - 1到 - 1028 - 1. 的值的精确的数字数据类型。你可以定义精度 (1 - 28) 和 符号 (0 - 定义精度)。缺省精度和符号分别是18和0。
TEXT每一字符两字节(参见注意)从零到最大 2,14 千兆字节。
IMAGE视实际需要而定从零到最大 2,14 千兆字节。用于 OLE 对象。
CHARACTER每一字符两字节(参见注意)长度从 0 到 255 个字符。

注意
  • 可以用ALTER TABLE 语句修正基数和增量。刚插进表中的行会有自动为基于新种值和增量值的列生成的值。如果新种和增长的值和以前的种值及增量匹配,就会造成复制。如果这个列是主键,复制值生成时可能导致错误。
  • 定义成TEXT也称作MEMO)或CHAR(也称作有具体长度的 TEXT(n))的字段中的字符被储存在 Unicode 表示格式。Unicode字符一律需要两个字节存储每一字符。对于现有的主要包含字符数据的 Microsoft Jet数据库,这可能意味着数据库文件被转换成 Microsoft Jet 4.0格式时字长会增加将近一倍。然而,从前由单字节字符群(SBCS)指示的众多字符群的Unicode 表示可以很容易地被压缩成一个单字节。 有关的详细信息,参见 CREATE TABLE。如果用COMPRESSION属性定义CHAR列,数据存储时会自动被压缩,提取时解压缩。
换个头像,看见广告就眼红,直接封ID。

TOP

多谢了!!

TOP

发新话题