Tag: sql server

从Excel向导导入数据自动检测数据types

你好我试图从Excel文件(xls)导入数据到新的SQL table所以我使用Import and Export data 32/bit来实现这一点。 当我加载Excel文件时,它会自动检测列的数据types。 例如与电话号码的列是作为数据types新表float和在Excel中是当我尝试更改为nvarchar Double(15) 我得到这个: find2个未知的列types转换您已经select跳过1个潜在的丢失列转换您select跳过3个安全的列转换(s) 我不能继续出口。 试图导入时有没有办法改变数据types? 感谢您的时间。 这些数据在Excel中设置为text数据types来自Excel中某一列的示例数据: 5859031783 5851130582 8811014190 这是我得到的:

SQL Server:无法初始化链接服务器的OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”的数据源对象“(空)”

我正在尝试运行以下查询: SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\Somefile.xlsx', 'SELECT * FROM [Sheet$]') 但是我得到这个错误: Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)". 我尝试了以下内容: sp_configure 'show advanced options', 1; RECONFIGURE; sp_configure 'Ad Hoc Distributed Queries', 1; RECONFIGURE; GO 和: USE [master] GO EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , […]

如何从部署在64位服务器上的SSIS包访问Excel数据源?

我有一个SSIS包,可以将数据导出到一些Excel文件中传输给第三方。 为了让它在64位服务器上按计划运行,我知道我需要将该步骤设置为CmdExectypes,并调用32位版本的DTExec。 但是我似乎无法获得传递Excel文件连接string的命令。 到目前为止,我有这样的: DTExec.exe /SQL \PackageName /SERVER OUR2005SQLSERVER /CONNECTION LETTER_Excel_File;\""Provider=Microsoft.Jet.OLEDB.4.0";"Data Source=""C:\Temp\BaseFiles\LETTER.xls";"Extended Properties= ""Excel 8.0;HDR=Yes"" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING E 这给了我错误: Option "Properties=Excel 8.0;HDR=Yes" is not valid. 我已经尝试了一些与引号的变化,但还没有得到它的权利呢。 有谁知道如何解决这一问题? UPDATE: 感谢您的帮助,但我决定现在用CSV文件,因为他们似乎只是在64位版本。

只从date时间的SQL获取date而不转换为varchar,以便我可以在Excel中sorting

目前sql返回date为2013-07-01 00:00:00.000。 我只需要mm / dd / yyyy格式的date部分,以便当我将其导出为ex​​cel时,我仍然可以根据升序或降序进行sorting。 我试过varchar,但它不会在Excel中sorting。

使用脚本将Excel工作表获取到临时表中

我试图把这个Excel表格放入一个表格,所以我可以将select的语句应用于它等等,以更新表格的信息。 SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\PB.xlsx', 'SELECT * FROM [Sheet1$]') 我运行64位机器。 不知道什么是最好的版本。 错误: 消息7399,级别16,状态1,行1链接服务器“(null)”的OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”报告了一个错误。 提供者没有给出关于错误的任何信息。 消息7303,级别16,状态1,行1无法初始化链接服务器“(null)”的OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”的数据源对象。 当我更改为Excel 12.0; OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”用于链接服务器“(null)”返回消息“无法find可安装的ISAM”。 消息7303,级别16,状态1,行1无法初始化链接服务器“(null)”的OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”的数据源对象。

数据stream中的SSISvariables使用问题

在项目开始时,我使用Scope size Package创build了3个variables: 然后我创build了一个SQL EXECUTE TASK : 在SQL SERVER上检查这个查询返回: 将EXCEL源设置为将获取文件位置的variables: 现在在SSIS上,我检查了双方64位debugging为真和假。 但其余的执行工作,当它是假的,因此我把它改回到假,并保存它。 这是项目的stream程: 每当我执行,它给我这个错误: 如何解决这个错误。 这已经耗费了我整整一天的时间,但我仍然无能为力。 我是SSIS的新手。 帮助将不胜感激。 编辑: 请参阅SQL EXECUTE TASK的结果集:

如何将Excel电子表格导入SQL Server?

我需要将一个Excel电子表格导入到SQL Server 2005中。我需要采取哪些步骤来实现这一点?

从Excel导入数据到SQL Server无法导入所有数据

使用“导入和导出数据”工具将数据从Excel导入到SQL Server时,发生了一件奇怪的事情。 简而言之,我可以在Excel中看到数据,但所有数据都不会导入。 我有一个Excel工作簿包含一个电子表格。 我可以看到列中的数据,一切都很好。 当我使用导入向导导入数据时,可以看到列和预览数据,但执行导入时数据不会全部转移。 没有错误,导入过程结束 – 它只是插入一堆空值到表中。 这似乎发生的最多的数字 – 所以,假设我有三列的名字,姓氏和身份证号码。 我会得到所有的名字和姓氏,以及一些身份证号码。 我无法find发生的事情的模式。 我之前曾经发生过这种情况,我注意到在导入过程中有两个电子表格可供select:DataImport和DataImport $ – 第一个将如上所述失败,第二个将无误地导入。 这一次只有一个电子表格可供select。 我主要在64位系统上使用XLS文档和32位导入向导,但我愿意尝试任何操作。 任何想法为什么有两个电子表格(有时),为什么这个导入会失败? 戴夫

从Excel导入到SQL Server 2005的截断错误

长话短说,我正在逐一取出一堆excel文档,并使用导入/导出向导将它们导入到SQL Server 2005中的数据库中。 这里有一个报告(所有未显示的过程都是“成功”)。 有没有办法让我忽略截断错误? 我已经search无效,或至less不是在我的版本。 – Executing (Success) – Copying to [Datadev].[dbo].[Sheet0$] (Error) Messages * Error 0xc020901c: Data Flow Task: There was an error with output 输出“Excel源输出”(9)中的“值含义描述”列(234)。 返回的列状态是:“文本被截断或者一个或多个字符在目标代码页中没有匹配”。 (SQL Server导入和导出向导) * Error 0xc020902a: Data Flow Task: The "output column "Value 含义描述“(234)”因截断发生而失败,“输出列”上的截断行configuration值含义描述“(234)”指定截断失败。 指定组件的指定对象上发生截断错误。 (SQL Server导入和导出向导) * Error 0xc0047038: Data Flow Task: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED。 […]

导入Excel电子表格数据到一个EXISTING SQL表?

我有一个名为tblAccounts的表,其内容将来自Excel电子表格。 我在Windows 8.1(x64)上使用MS SQL Server 2008(x64) 我尝试使用SQL Server导入/导出向导,但没有selectselect现有的表,但只有一个选项来创build一个新的。 我尝试使用其他方法,如OPENROWSETS INSERT INTO tblAccount SELECT * FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0', 'Excel 12.0;Database=D:\exceloutp.xls','SELECT * FROM [Sheet1$]') 但给了我一个错误: Msg 7308, Level 16, State 1, Line 1 OLE DB provider 'Microsoft.Jet.OLEDB.4.0' cannot be used for distributed queries because the provider is configured to run in single-threaded apartment mode. 有研究告诉我,这是因为一个64位的SQL服务器实例。 问题是,这个excel数据传输到一个SQL表必须使用SQL导入/导出向导来完成。 如何将Excel电子表格导入到现有的SQL表格而不创build新的表格? […]