Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell sqlcmd正在工作,我计划修补ADO.NET解决方案。谢谢很高兴这有助于创建必要的对象,如果($global:systemDataAssembly-eq$null){[Reflection.Assembly]$global:systemDataAssem_Powershell_Bcp_Powershell 1.0 - Fatal编程技术网

Powershell sqlcmd正在工作,我计划修补ADO.NET解决方案。谢谢很高兴这有助于创建必要的对象,如果($global:systemDataAssembly-eq$null){[Reflection.Assembly]$global:systemDataAssem

Powershell sqlcmd正在工作,我计划修补ADO.NET解决方案。谢谢很高兴这有助于创建必要的对象,如果($global:systemDataAssembly-eq$null){[Reflection.Assembly]$global:systemDataAssem,powershell,bcp,powershell-1.0,Powershell,Bcp,Powershell 1.0,sqlcmd正在工作,我计划修补ADO.NET解决方案。谢谢很高兴这有助于创建必要的对象,如果($global:systemDataAssembly-eq$null){[Reflection.Assembly]$global:systemDataAssembly=[Reflection.Assembly]::LoadWithPartialName(“System.Data”);}[System.Data.SqlClient.SqlBulkCopy]$local:bulkCopy=新对象-Type


sqlcmd正在工作,我计划修补ADO.NET解决方案。谢谢很高兴这有助于创建必要的对象,如果($global:systemDataAssembly-eq$null){[Reflection.Assembly]$global:systemDataAssembly=[Reflection.Assembly]::LoadWithPartialName(“System.Data”);}[System.Data.SqlClient.SqlBulkCopy]$local:bulkCopy=新对象-TypeName“System.Data.SqlClient.SqlBulkCopy”-ArgumentList“数据源=。\SQLEXPRESS;集成安全性=是;初始目录=测试”$本地:bulkCopy.DestinationTableName=“dbo.test”;[System.Data.DataTable]$local:DataTable=新对象-TypeName“System.Data.DataTable”;#这是真正的行动抱歉,格式错误。我还没有掌握它。它在评论中的作用似乎有所不同。
"ABC123",123456,"APPLE"
"XYZ789",456789,"ORANGE"
Col1 varchar(50) (Primary Key)
Col2 varchar(50)
Col3 varchar(50)
Col4 varchar(50)
$SQLSERVER="svr"
$SQLTABLE="test"
$SQLUSER="u"
$SQLPASS="p"

$TESTFILE = "testdata.csv"
$TESTFILEHDR = "testdata-wHeaders.csv"
$TESTFILEFIX = "testdata-fixed.csv"
$OrigHeaders = "`"Col1`",`"Col2`",`"Col3`"`n"

function Create-BcpFormat($fileName)
{
@"
<?xml version='1.0'?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <RECORD>
  <FIELD ID='1' xsi:type='CharTerm' TERMINATOR=',"' COLLATION='SQL_AltDiction_CP850_CI_AS'/>
  <FIELD ID='2' xsi:type='CharTerm' TERMINATOR='",' COLLATION='SQL_AltDiction_CP850_CI_AS'/>
  <FIELD ID='3' xsi:type='CharTerm' TERMINATOR=',' COLLATION='SQL_AltDiction_CP850_CI_AS'/>
  <FIELD ID='4' xsi:type='CharTerm' TERMINATOR='\r\n' COLLATION='SQL_AltDiction_CP850_CI_AS'/>
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="Col1" xsi:type="SQLVARYCHAR"/>
  <COLUMN SOURCE="2" NAME="Col2" xsi:type="SQLVARYCHAR"/>
  <COLUMN SOURCE="3" NAME="Col3" xsi:type="SQLVARYCHAR"/>
  <COLUMN SOURCE="4" NAME="Col4" xsi:type="SQLVARYCHAR"/>
 </ROW>
</BCPFORMAT>
"@ | Set-Content $filename
}

## GHI456 is already in the table, clean out previous attempts
"`nclean test table:"
osql @("-S","$SQLSERVER","-U","$SQLUSER","-P","$SQLPASS","-Q",
    """delete from $SQLTABLE where col1 <> 'GHI456' or col1 is null""")

## Prepend
$body = [string]::join([environment]::NewLine, (gc $TESTFILE))
$OrigHeaders + $body > $TESTFILEHDR

"`nTESTFILEHDR:"
type $TESTFILEHDR

$accts = Import-csv $TESTFILEHDR | select 'Col1', 'Col2', @{n='Col3';e={'ABC'}}, @{n='Col4';e={$_.Col3}}
$accts
$accts | Export-Csv $TESTFILEFIX -NoTypeInfo

"`nTESTFILEFIX:"
type $TESTFILEFIX

$BCPFMTFILE = "bcp.fmt"
$BCPERRFILE = "bcp.err"
Create-BcpFormat $BCPFMTFILE
bcp @("$SQLTABLE","in","$TESTFILEFIX","-S","$SQLSERVER","-U","$SQLUSER","-P","$SQLPASS","-f",$BCPFMTFILE,"-e",$BCPERRFILE)
Remove-Item $BCPFMTFILE

"`ntest table:"
osql @("-S","$SQLSERVER","-U","$SQLUSER","-P","$SQLPASS","-Q",
    """select left(Col1,20) 'Col1', left(Col2,8) 'Col2', left(Col3,8) 'Col3', left(Col4,8) 'Col4' from $SQLTABLE""")

"`nBCPERRFILE:"
type $BCPERRFILE