SQL 导出到 指定ACCESS表 完美方案
由于程序需要把SQL SERVER 里的数据导入到ACCESS里.
刚开始使用DataSet来循环.
数据量少的时候还算可以应付的过来.
但当数据多的时候.
会报错"位置错误"
在网上搜寻一番.找到一个方法.
使用insert into openrowset
接着错误一个接一个的来..
"插入错误: 列名或所提供值的数目与表定义不匹配。"
"未能找到 OLE DB 提供程序 'Provider=Microsoft.Jet.OleDb.4.0' 的注册表项。"
导入数据后列顺序全部打乱..
后来继续搜.搜阿.搜阿.搜阿搜..
找到了这个方法.指定列名的.这样就可以指定列了.
代码如下:
[code=SQL]insert into openrowset('Microsoft.Jet.OLEDB.4.0', 'd:\dgener.mdb';'admin';'',AccessTable) (ACCESS列名1,列名2) select SQL列名1,SQL列名2 from SqlTable
[/code]
相关文档:
RDBMS
方言
DB2
org.hibernate.dialect.DB2Dialect
DB2 AS/400
org.hibernate.dialect.DB2400Dialect
DB2 OS390
org.hibernate.dialect.DB2390Dialect
PostgreSQL
org.hib ......
select [name] from sysdatabases order by name--得到数据库中所有的库名
select [name] from sysobjects where xtype='U'and [name]<>'dtproperties' order by [name]--得到数据库表中的列表
select [name] from sysobjects where xtype='V' and [name]<>'syssegments' and [name]<>'sysconstraints' ......
USE master
GO
DECLARE @dbname sysname
SET @dbname='TEST' --这个是要删除的数据库库名
DECLARE @s NVARCHAR(1000)
DECLARE tb CURSOR local FOR
SELECT s='KILL '+CAST(spid AS NVARCHAR)&nbs ......
select
描述:查询顾客的公司名、地址信息
查询句法:
var 构建匿名类型1 = from c in ctx.Customers
select new
  ......