关于SQL 导入导出到 Access时使用OPENROWSET出现的问题
本人有一个项目需要将数据在SQL和Access中导入导出,参考了txlicenhe (马可) 的贴子:
http://search.csdn.net/Expert/topic/2341/2341997.xml?temp=.1113245
使用了下的方法:
/*************导出到Access********************/
insert into openrowset('Microsoft.Jet.OLEDB.4.0',
'x:\A.mdb';'admin';'',A表) select * from 数据库名..B表
/*************导入Access********************/
insert into B表 selet * from openrowset('Microsoft.Jet.OLEDB.4.0',
'x:\A.mdb';'admin';'',A表)
-------------------------------------------------------------------
本人试过,如果是字段少,没有出现什么题,但字段多就会出题字段类型不匹配的问题,我的Access表是用SQL的DTS 导出时自动建的,数据类型对应关系应该没有问题,但我在SQL里运行时提示并不是,字段溢出这个的错误,是提示:
"不允许从数据类型 money 到 nvarchar 的隐性转换。请使用 CONVERT 函数来运行此查询。"
或者
“
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。
OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IOpenRowset::OpenRowset returned 0x80004005: 提供程序未给出有关错误的任何信息。]。”
的错误:
所以小弟认为,可能是SQL 表和ACCESS表字段之间的对应顺序不正确,现在小弟有两个问题请大侠帮忙
1。如何解决上面的数据不匹配的问题。
2。有没有方法在导出到ACCESS表时,能不能像导出到文本或者EXCEL一样自动建一个数据库和表。