RFC 4180定义Common Format and MIME Type for Comma-Separated Values (CSV) Files.其中一个要求RFC 4180如下所述.这是#7RFC链接中的要点.
If double-quotes are used to enclose fields, then a double-quote
appearing inside a field must be escaped by preceding it with
another double quote. For example:
"aaa","b""bb","ccc"
Run Code Online (Sandbox Code Playgroud)
DTS Export/Import Wizard在SQL Server 2000似乎符合上述标准,即使RFC 4180本身似乎一直只公布2005年10月.我使用下面提到的SQL Server 2000版本.
Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)
May 3 2005 23:18:38
Copyright (c) …Run Code Online (Sandbox Code Playgroud) 我有一个包含四个文本列的excel文件:其中一个名为ShortDescription,具有最长的值.我在SQL Server 2008数据库中创建了一个表,其中包含四列,ShortDescription列类型设置为NvarChar(Max).
但是当使用SSIS导入和导出对话框时,即使我将OnTruncation选项设置为Ignore,我仍会在标题中收到上述错误.
我试图清除列数据,并且它成功了(所以我确保问题出在ShortDescription列中).我试图将整个数据复制到另一本excel工作簿,但仍然没有运气.
有任何想法吗 ???
我有一个ssis包,我使用连接到SQL Server 2005表的OLEDB源.除日期列之外的所有列都是NVARCHAR(255).我正在使用Excel目标并使用SQL语句在Excel工作簿中创建工作表,SQL位于Excel连接管理器(实际上是创建工作表的创建表语句)中,并且是从列的映射派生而来的. D B.
无论我做了什么,我都会在源和目标之间获得这个unicode - >非unicode转换错误.尝试在S> D之间转换为字符串[DT_STR],删除它,将SQL表VARCHAR更改为NVARCHAR并仍然得到此flippin错误.
因为我使用SQL语句在Excel中创建工作表,所以我没有看到任何方法来实际预定义Excel工作表中列的数据类型.我想这将是一个默认的元数据,但我不知道.
因此,在我的SQL表目的地和使用此SSIS sql语句创建Excel表之间如何才能阻止此错误出现?
我的错误是:
数据流任务出错[OLE DB源[1]]:列"MyColumn"无法在unicode和非unicode字符串数据类型之间进行转换.
对于所有nvarchar列.
感谢任何帮助
谢谢
安德鲁
我正在尝试使用SSIS将电子表格导入我们的数据库.出于某种原因,SSIS想要相信其中两列是Double类型,当它们包含字符数据时.我已经尝试将列重新映射为nvarchar(255),但它仍然不想选择它认为是双倍的数据,因为它中有字符.如果我尝试编辑SSIS包并更改Excel源中的列类型,它将不允许我更改错误输出中的列类型,如果常规输出和错误输出列不比赛.
为什么SSIS坚持认为这些列是Double?我怎么能强迫它实现这些字符串呢?为什么微软的所有东西都不能正常工作?
编辑:我发现了这个:http://support.microsoft.com/kb/236605
我对数据进行了排序,以便混合数据类型位于顶部,然后猜测:问题发生了逆转.它不再导入字符数据,而是停止导入纯数字数据.显然有人不认为12345可以表示为字符串......
我有ssis包,因为我从平面文件中获取值并将其插入表中.
我在创建一个temptable时采用了一个执行SQL任务
CREATE TABLE [tempdb].dbo.##temptable
(
date datetime,
companyname nvarchar(50),
price decimal(10,0),
PortfolioId int,
stype nvarchar(50)
)
Insert into [tempdb].dbo.##temptable (date,companyname,price,PortfolioId,stype)
SELECT date,companyname,price,PortfolioId,stype
FROM ProgressNAV
WHERE (Date = '2011-09-30') AND (PortfolioId = 5) AND (stype in ('Index'))
ORDER BY CompanyName
Run Code Online (Sandbox Code Playgroud)
现在在上面的查询中我需要(Date = '2011-09-30') AND (PortfolioId = 5) AND (stype in ('Index'))
使用变量名传递这3个参数我已经在包中创建了变量,这样我就变得动态了.
我正在接管的项目中有一个DTSX文件.我有Visual Studio 2005 Pro,但它只是将其作为XML文件打开.SQL Server Management Studio 2005也是如此.
我见过人们以某种工作流程格式打开这些文件; 脑海中浮现出商业智能开发工作室.
这是Visual Studio或SQL的一部分吗?是否必须单独购买?我可以使用我的工具以更有用的方式打开此文件吗?
我已经下载并安装了 Visual Studio 2022。然后单击“修改”
现在,我想创建SSIS包,为此我已经启动了VS22,并且在“管理扩展”中当我尝试查找Microsoft SSIS时,我无法找到。
为此,我从市场下载了 SSIS:
但是当我尝试安装它时,它会抛出以下错误:
sql-server ssis etl sql-server-data-tools visual-studio-2022
我有一个运行在服务器上的每月运行的SQL Server作业.Job正在使用SSIS包,并且应该从数据库中提取数据并创建Excel工作表并将数据复制到Excel 2003中.
由于Excel 2003中的截断问题,我实际上从数据库获得了大约140,000行(Excel支持64,000行).所以我修改了配置文件以支持2007 Excel格式.
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @[User::FullPath] + ";Extended Properties=\"Excel 12.0;HDR=YES\"
Run Code Online (Sandbox Code Playgroud)
但是当我尝试执行作业时,它无法显示错误消息:
"请求的OLE DB提供程序Microsoft.ACE.OLEDB.12.0未注册"
我正在运行一个SSIS包,它将从FlatFiles中的几个表的数据替换为数据库中的现有表.
我的包将截断表,然后插入新数据.当我运行我的SSIS包时,由于外键我得到一个例外.
我可以禁用约束,运行导入,然后重新启用它们吗?
我正在尝试在Visual Studio 2012中运行SSIS包.当我单击"开始"按钮时,我在Visual Studio的弹出窗口中出现了这个非常奇怪的错误:
Method not found: 'Boolean
Microsoft.SqlServer.Dts.Design.VisualStudio2012Utils.IsVisualStudio2012ProInstalled()'.
(Microsoft.DataTransformationServices.VsIntegration)
Run Code Online (Sandbox Code Playgroud)
点击显示技术信息,我得到这个堆栈跟踪:
===================================
Failed to start project (Microsoft Visual Studio)
===================================
Method not found: 'Boolean Microsoft.SqlServer.Dts.Design.VisualStudio2012Utils.IsVisualStudio2012ProInstalled()'. (Microsoft.DataTransformationServices.VsIntegration)
------------------------------
Program Location:
at Microsoft.DataTransformationServices.Project.DataTransformationsPackageDebugger.LaunchVsDebugger(IVsDebugger iVsDebugger, DataTransformationsProjectConfigurationOptions options)
at Microsoft.DataTransformationServices.Project.DataTransformationsPackageDebugger.ValidateAndRunDebugger(Int32 flags, IOutputWindow outputWindow, DataTransformationsProjectConfigurationOptions options)
at Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.LaunchDtsPackage(Int32 launchOptions, ProjectItem startupProjItem, DataTransformationsProjectConfigurationOptions options)
at Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.LaunchActivePackage(Int32 launchOptions)
at Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.LaunchDtsPackage(Int32 launchOptions, DataTransformationsProjectConfigurationOptions options)
at Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.Launch(Int32 launchOptions, DataTransformationsProjectConfigurationOptions options)
Run Code Online (Sandbox Code Playgroud)
有没有人见过这个错误或知道问题可能是什么?一点谷歌搜索对我来说绝对没有任何意义.
几天前,我能够愉快地开发和运行Visual Studio 2012中的SSIS包而没有任何问题(我在周末重启了我的电脑并安装了一些Windows更新)
ETA:
我能够在这里和这里找到一些关于这个的非常近期的技术帖帖子,所以我怀疑这是周末更新的内容.一个帖子说他通过重新安装解决了这个问题,但当然如果我不需要,我宁愿不去那条路.
ssis ×10
sql-server ×4
excel ×2
codepages ×1
constraints ×1
etl ×1
non-unicode ×1
sql ×1
types ×1
unicode ×1