我需要将 CSV 数据从客户端计算机导入到网络上其他地方的 SQL Server。我想用 PowerShell 来做这件事,因为我正试图变得更流利地使用它。
但是,当我使用我在互联网上找到的示例时,我遇到了一个我不明白的问题。
作为参考,我使用了第三个示例:
我已将信息导入数据表,但是似乎一旦系统尝试将数据插入数据库,我就会收到以下错误,这显然是我的数据如何进入我的数据表的问题,因为 at 符号和支架似乎导致了这个问题。
这是错误:
System.Management.Automation.MethodException:无法转换参数“0”,值为:“System.Object[]”,用于“WriteToServer”以键入“System.Data.DataRow[]”:
“无法转换“@{[类型]=1;[EID]=803;[名字]=鲍勃;[中间初始化]=; [姓氏]=米勒;[雇用日期]=03031903; [规则]=H; [比率]=0100;[状态]=1;[商店]=8;[部门]=04;[班级]=130;[Badge]=803;}" 类型“System.Management.Automation.PSCustomObject”的值以键入“System.Data.DataRow”。
---> System.Management.Automation.PSInvalidCastException:无法转换“@{[Type]=1;[EID]=803;[FirstName]=Bob;[MiddleInit]=;[LastName]=Miller;[HireDate] =03031903;[Rule]=H;[Rate]=0100;[Status]=1;[Store]=8;[Dept]=04;[Class]=130;[Badge]=803;}" 类型值“System.Management.Automation.PSCustomObject”键入“System.Data.DataRow”。在 System.Management.Automation.LanguagePrimitives.ConvertTo(Object valueToConvert, Type resultType, Boolean recursion, IFormatProvider formatProvider, TypeTable backupTypeTable)
at System.Management.Automation.LanguagePrimitives.ConvertUnrelatedArrays(Object valueToConvert, Type resultType, Boolean recursion, PSObject originalValueToConvert, IFormatProvider
System.Management.Automation.LanguagePrimitives.ConvertTo(Object valueToConvert, Type resultType, Boolean recursion, IFormatProvider formatProvider, TypeTable backupTypeTable) at
System.Management.Automation.Adapter.PropertySetAndMethodArgumentConvertTo(Object valueToConvert, Type resultType, IFormatProvider formatProvider ) )
在 System.Management.Automation.Adapter.MethodArgumentConvertTo(Object valueToConvert, Boolean isParameterByRef, Int32 parameterIndex, Type resultType, IFormatProvider formatProvider)
在 System.Management.Automation.Adapter.SetNewArgument(String methodName, Object[] arguments, Object[] newArguments, ParameterInformation 参数,Int32 索引)
--- 内部异常堆栈跟踪结束 --- 在 System.Management.Automation.Adapter.SetNewArgument(String methodName, Object[] arguments, Object[] newArguments, ParameterInformation parameter, Int32 index)
在 System .Management.Automation.Adapter.GetMethodArgumentsBase(String methodName, ParameterInformation[] parameters, Object[] arguments, Boolean expandParamsOnBest)
在 System.Management.Automation.DotNetAdapter.MethodInvokeDotNet(String methodName, Object target, MethodInformation[] methodInformation, Object[] arguments)
在 System.Management.Automation.Adapter.BaseMethodInvoke(PSMethod method, Object[] arguments)
在 System.Management .Automation.ParserOps.CallMethod(Token token, Object target, String methodName, Object[] paramArray, Boolean callStatic, Object valueToSet)
at System.Management.Automation.MethodCallNode.InvokeMethod(Object target, Object[] arguments, Object value)
at System.Management.Automation.MethodCallNode.Execute(数组输入,管道输出管道,ExecutionContext 上下文)
在 System.Management.Automation.ParseTreeNode.Execute(Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)
at System.Management.Automation.StatementListNode.ExecuteStatement(ParseTreeNode statement, Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)
消息+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Write-DataTable.PS1