问题描述
## - Get sql Server Table data:
$sqlServer = 'random';
$Database = 'random';
$sqlQuery = 'EXEC [random].[LandMarkGlobalExport]';
## - Connect to sql Server using non-SMO class 'System.Data':
$sqlConnection = New-Object System.Data.sqlClient.sqlConnection;
$sqlConnection.ConnectionString = `
"Server = $sqlServer; Database = $Database; Integrated Security = True";
$sqlCmd = New-Object System.Data.sqlClient.sqlCommand;
$sqlCmd.CommandText = $sqlQuery;
$sqlCmd.Connection = $sqlConnection;
## - Extract and build the sql data object '$DataSetTable':
$sqlAdapter = New-Object System.Data.sqlClient.sqlDataAdapter;
$sqlAdapter.SelectCommand = $sqlCmd;
$DataSet = New-Object System.Data.DataSet;
$sqlAdapter.Fill($DataSet);
$DataSetTable = $DataSet.Tables["Table"];
## ---------- Working with Excel ---------- ##
## - Create an Excel Application instance:
$xlsObj = New-Object -ComObject Excel.Application;
## - Create new Workbook and Sheet (Visible = 1 / 0 not visible)
$xlsObj.Visible = 0;
$xlsWb = $xlsobj.Workbooks.Add();
$xlsSh = $xlsWb.Worksheets.item(1);
## - copy entire table to the clipboard as tab delimited CSV
但是我收到以下错误
使用“1”个参数调用“Fill”的异常:“执行超时 已到期。超时时间在完成之前已过 操作或服务器没有响应。” At line:19 char:1
- $sqlAdapter.Fill($DataSet);
-
+ CategoryInfo : NotSpecified: (:) [],MethodInvocationException + FullyQualifiedErrorId : sqlException
对于 $sqlAdapter.Fill($DataSet); - 我怎样才能停止超时?
感谢任何帮助
解决方法
问题原来是用户权限写入 Excel 文件。