मैं निम्नलिखित पुनश्च समारोह है:पावरहेल क्यों सोचता है कि मैं किसी ऑब्जेक्ट को वापस करने की कोशिश कर रहा हूं [] बल्कि डेटाटेबल?
function GetBuildData {
[System.Data.SqlClient.SqlConnection] $conn = New-Object System.Data.SqlClient.SqlConnection
[System.Data.SqlClient.SqlCommand] $cmd = New-Object System.Data.SqlClient.SqlCommand
[System.Data.SqlClient.SqlDataAdapter] $adapter = New-Object System.Data.SqlClient.SqlDataAdapter
[System.Data.DataTable] $dt = New-Object System.Data.DataTable
try {
[string] $connStr = "myConnectionString"
$conn.ConnectionString = $connStr
$cmd.Connection = $conn
$cmd.CommandText = "SELECT * FROM TestTable"
$conn.Open
$adapter.SelectCommand = $cmd
$adapter.Fill($dt)
$conn.Close
}
catch [system.exception]
{
Write-Host $_
}
finally {
$adapter.Dispose
$cmd.Dispose
$conn.Dispose
}
return $dt
}
समारोह के अधिकांश संक्षिप्तता के लिए हटा दिया गया है। समस्या मेरे पास है तब होता है जब मैं बहुत तरह फ़ंक्शन को कॉल करें:
[System.Data.DataTable] $buildData = GetBuildData
मैं निम्नलिखित त्रुटि मिलती है:
Cannot convert the "System.Object[]" value of type "System.Object[]" to type "System.Data.DataTable".
Powershell क्यों लगता है कि मैं एक वस्तु [] सरणी लौटे चाहने कर रहा हूँ है जब यह स्पष्ट है कि $ dt चर डेटाटेबल है?
संपादित करें:
मैं दोबारा जांच करती हैं, और $dt
डेटा शामिल करता है। उदाहरण के लिए, पंक्तियों की संख्या। गणना 1 है जो अपेक्षित है।
त्रुटि किस त्रुटि पर होती है? त्रुटि संदेश लाइन और चरित्र संख्या प्रदान करना चाहिए। मुझे लगता है कि यह यहां होता है: $ एडाप्टर। भरें ($ डीटी) ?? – D3vtr0n
क्या आपने कभी भी ',' ऑपरेटर को jpmc26 के उत्तर में सुझाए गए प्रयासों का प्रयास किया था? मैं इस समस्या में भाग गया, और वह समाधान था। –
क्या कोई उत्तर आपकी समस्या का समाधान करता है? यदि नहीं, तो क्या आप कुछ और जानकारी जोड़ सकते हैं कि उन्होंने क्यों काम नहीं किया? – jpmc26