Sql server 如何使用作为excel电子表格文件名称的数据源创建SQL Server OLEDB连接?
我们的办公室希望用SQL Server OLEDB连接替换Microsoft Jet OLEDB 4.0,以便将Excel电子表格记录导入SQL数据库表。我们试图避免在64位计算机上使用Microsoft Jet OLEDB 12.0,因为它不会在office Enterprise 2007或MS office 2003等32位office产品中安装。最初的MS Jet 4.0连接字符串适用于32位应用程序,但我们的客户端不允许我们在其64位服务器上的IIS中打开32位应用程序。以下是原始的MS Jet 4.0连接字符串:Sql server 如何使用作为excel电子表格文件名称的数据源创建SQL Server OLEDB连接?,sql-server,Sql Server,我们的办公室希望用SQL Server OLEDB连接替换Microsoft Jet OLEDB 4.0,以便将Excel电子表格记录导入SQL数据库表。我们试图避免在64位计算机上使用Microsoft Jet OLEDB 12.0,因为它不会在office Enterprise 2007或MS office 2003等32位office产品中安装。最初的MS Jet 4.0连接字符串适用于32位应用程序,但我们的客户端不允许我们在其64位服务器上的IIS中打开32位应用程序。以下是原始的MS
Dim xlConnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\ServerFolder\" & fName & ";" & _
"Extended Properties=""Excel 8.0;"""
当我将其替换为以下内容时,我遇到了问题:
Dim xlConnStr As String = "Provider=SQLOLEDB;" & _
"Data Source=C:\ServerFolder\" & fName & ";" & _
"Extended Properties=""Excel 8.0;"""
任何帮助都将不胜感激。您必须使用ACE驱动程序,而不是Jet。有不同的版本;下载一个似乎最适合你的,虽然我不认为有太大的区别。搜索将找到一些,再加上一些文章 对于连接字符串,有一个非常有用的connectionstrings.com
ACE是JET的64位替代品。这是office更高版本的数据库引擎版本,它至少可以安装。我遇到的问题是,如果不从Office卸载32位Microsoft Excel等,我无法为64位计算机安装ACE。我可以安装32位版本的ACE for Office 2010(Microsoft.ACE.OLDB.14.0),但这没有帮助,因为我不允许在IIS应用程序池中打开32位应用程序。我们正在ASP web应用程序上从后台运行visual basic。老实说,您提供的这个解决方案显然是正确的。微软明确表示,该引擎用于此目的;也许12号喷气机也会这样做。我想我需要在一台没有旧版office的机器上试用一下。谢谢你的帮助。非常感谢。