WIN1064电脑,sql server 2014/2019 导入工具请用开始菜单里的64位,因为sql SMS数据库右键导入默认是32位。
https://stackoverflow.com/questions/40360932/microsoft-ace-oledb-16-0-provider-is-not-registered-on-the-local-machine-sys
- Go [here][1], download
Microsoft Access Database Engine 2016 Redistributableand install - Close SQL Server Management Studio
- Go to Start Menu -> Microsoft SQL Server 2017 -> SQL Server 2017 Import and Export Data (64-bit)
- Open the application and try to import data using the "Excel 2016" option, it should work fine.
在64位的机器上安装64位的
Microsoft.ACE.OLEDB.12.0
SQL Management Studio:SQL服务器-->服务器对象-->链接服务器-->Microsoft.ACE.OLEDB.12.0 属性-->常规-->选中:1、动态参数;2、允许进程内
http://www.microsoft.com/zh-cn/download/details.aspx?id=13255
无法初始化链接服务器“(null)”的 OLE DB 访问接口“Microsoft.ACE.OLEDB.16.0”的数据源对象
未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序
链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 报错。提供程序未给出有关错误的任何信息。
无法初始化链接服务器“(null)”的 OLE DB 访问接口“Microsoft.ACE.OLEDB.12.0”的数据源对象。
2016
https://www.microsoft.com/en-us/download/details.aspx?id=54920
2010
https://www.microsoft.com/en-us/download/details.aspx?id=13255
2007
https://www.microsoft.com/en-us/download/details.aspx?id=23734
注意下载那个64位的:
AccessDatabaseEngine_X64.exe
https://zhidao.baidu.com/question/918558518828001539.html
https://blog.csdn.net/www_rsqdz_net/article/details/79886942
https://www.cnblogs.com/habin/archive/2012/08/01/2618845.html
https://www.cnblogs.com/NichkChang/p/6381309.html
Microsoft.ACE.OLEDB.12.0,没安装office2010也好了,安装这个AccessDatabaseEngine_X64.exe就可以了
--开启导入功能 exec sp_configure \'show advanced options\',1 reconfigure exec sp_configure \'Ad Hoc Distributed Queries\',1 reconfigure --允许在进程中使用ACE.OLEDB.12 EXEC master.dbo.sp_MSset_oledb_prop N\'Microsoft.ACE.OLEDB.12.0\', N\'AllowInProcess\', 1 --允许动态参数 EXEC master.dbo.sp_MSset_oledb_prop N\'Microsoft.ACE.OLEDB.12.0\', N\'DynamicParameters\', 1 --导入临时表 exec (\'insert into jihua(id,[批次号],Right(\'\'\'+ @filepath +\'\'\',charindex(\'\'\\'\',REVERSE(\'\'\'+ @filepath +\'\'\'))-1),getdate() FROM OPENDATASOURCE (\'\'Microsoft.ACE.OLEDB.12.0\'\', \'\'Data Source=\'+@filepath+\';User ID=Admin;Password=\'\' )...计划汇总表\') --注意这里,要先关闭外围的设置,然后再关闭高级选项 exec sp_configure\'Ad Hoc Distributed Queries\',0 reconfigure exec sp_configure\'show advanced options\',0 reconfigure --关闭ACE.OLEDB.12的选项 EXEC master.dbo.sp_MSset_oledb_prop N\'Microsoft.ACE.OLEDB.12.0\', N\'AllowInProcess\', 0 EXEC master.dbo.sp_MSset_oledb_prop N\'Microsoft.ACE.OLEDB.12.0\', N\'DynamicParameters\', 0
CREATE TABLE CSVTable(
Name NVARCHAR(MAX),
Email NVARCHAR(MAX),
Area NVARCHAR(MAX)
)
然后执行下面的语句:BULK INSERT CSVTable
FROM \'D:\csv.txt\'
WITH(
FIELDTERMINATOR = \',\',
ROWTERMINATOR = \'\n\'
)
SELECT * FROM CSVTable