我有一个Excel电子表格,我想将选择列导入我的SQL Server 2008数据库表.该向导没有提供该选项.
是否存在任何简单的代码选项?
连接到Sql Server 2005数据库后,在"对象资源管理器"窗口中,右键单击要导入表的数据库.选择任务 - >导入数据.这是一个简单的工具,允许您将传入的数据"映射"到适当的表中.您可以保存脚本以在需要时再次运行.
Microsoft提出了几种方法:
SQL Server数据转换服务(DTS)
Microsoft SQL Server 2005集成服务(SSIS)
SQL Server链接服务器
SQL Server分布式查询
ActiveX数据对象(ADO)和SQL Server的Microsoft OLE DB提供程序
ADO和Jet 4.0的Microsoft OLE DB提供程序
如果向导(DTS)不工作(我认为它应该)你可以尝试这样的东西http://www.devasp.net/net/articles/display/771.html基本上建议做类似的事情
INSERT INTO [tblTemp] ([Column1], [Column2], [Column3], [Column4]) SELECT A.[Column1], A.[Column2], A.[Column3], A.[Column4] FROM OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\Excel.xls;HDR=YES', 'select * from [Sheet1$]') AS A;
这可能听起来很遥远,但您可能希望使用Excel生成INSERT SQL代码,您可以将其转到查询分析器中以创建表.
如果您无法使用向导,则可以正常工作,因为excel文件不在服务器上
您可以使用OPENROWSET,例如:
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;IMEX=1;HDR=NO;DATABASE=C:\FILE.xls', 'Select * from [Sheet1$]'
只需确保路径是服务器上的路径,而不是本地计算机.