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]
相关文档:
向高手请教一个问题:
当我执行:
use master
exec xp_cmdshell 'osql /S musqlserver /U sa /P mypwd /d haodb /Q "select top 10 * from trandetail" /o C:\my1.xls'
以上执行成功,会产生新文件:C:\my1.xls'
然后我想将此文件直接copy到另一台电脑中[已建连接]
执行
......
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 ......
//根据主键来删除表中的数据。
//删除
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
OleDbConnection sqlConnection = new OleDbConnection(GetConnection());
& ......
select
描述:查询顾客的公司名、地址信息
查询句法:
var 构建匿名类型1 = from c in ctx.Customers
select new
  ......
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select
CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100),
GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3):
16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select
CON ......