Danh mục

Microsoft Windows PowerShell và SQL Server 2005 SMO - Phần III

Số trang: 8      Loại file: pdf      Dung lượng: 498.43 KB      Lượt xem: 8      Lượt tải: 0    
Jamona

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Phần I và Phần II của loạt bài này đã chỉ dẫn các thiết lập PowerShell và SMO, các cmdlet WMI đơn giản. Phần 3 này sẽ giới thiệu cách viết mã cho cmdlet PowerShell và thực thi chúng. Mã kịch bản là yếu tố cần thiết cho các thao tác tự động và lặp đi lặp lại. Chính sách thực thi 4 loại chính sách thực thi khác nhau của Windows PowerShell là Restricted, AllSigned, RemoteSigned và Unrestricted. Chúng ta sẽ tìm chính sách thực thi của Windows PowerShell trên vùng làm việc. [Hình 1.0]Cmdlet: Get-executionpolicy Kết quả: RestrictedHình...
Nội dung trích xuất từ tài liệu:
Microsoft Windows PowerShell và SQL Server 2005 SMO - Phần III Microsoft Windows PowerShell và SQL Server 2005 SMO - Phần III Phần I và Phần II của loạt bài này đã chỉ dẫn các thiết lập PowerShell và SMO, các cmdlet WMI đơn giản. Phần 3 này sẽ giới thiệu cách viết mã cho cmdlet PowerShell và thực thi chúng. Mã kịch bản là yếu tố cần thiết cho các thao tác tự động và lặp đi lặp lại. Chính sách thực thi4 loại chính sách thực thi khác nhau của Windows PowerShell là Restricted, AllSigned,RemoteSigned và Unrestricted. Chúng ta sẽ tìm chính sách thực thi của Windows PowerShelltrên vùng làm việc. [Hình 1.0]Cmdlet:Get-executionpolicyKết quả:Restricted Hình 1.0Giả sử ta có dòng code sau trên PowerShell script a.ps1. [Hình 1.1]Echo “test” Hình 1.1Nếu thử thực hiện mã lệnh khi chính sách thực thi của PowerShell là restricted, thì sẽ xuất hiệnthông báo lỗi sau. [Hình 1.2]Lệnh thực hiện mã PowerShell. /a.ps1Kết quảFile C:psa.ps1 cannot be loaded because the execution of scripts isdisabledon this system. Please see get-help about_signing for more details.At line:1 char:3+ ./a Hình 1.4Điều khiển Input trong mã PowerShellKhi thực hiện các thao tác lặp đi lặp lại, chúng ta thích ứng dụng để tương tác hơn và xây dựngứng dụng để đòi hỏi đầu vào từ người sử dụng. Ta có thể thực hiện tương tự với PowerShell.Hãy tạo một mã PowerShell chấp nhận tên của trường SQL Server và tên cơ sở dữ liệu. Ngoài ra,hãy để PowerShell hiển thị tất cả các bảng trên cơ sở dữ liệu đó. Điều này có thể được thực hiệnvới cmdlet read-host.Thí dụ 1: [Hình 1.5]Read-host “Please Enter Second Number”. Hình 1.5Thí dụ 2Chúng ta có thể gán giá trị cmdlet là một biến số. [Hình 1.6]$a=read-host Please Enter Second Number $a Hình 1.6Kết hợp thí dụ 1 và thí dụ 2 kết nối với SQL Server.Tạo mã PowerShell có tên connectsql.ps1. [Hình 1.7]$SQLSERVER=read-host Enter SQL Server Name:$Database=read-host Enter Database Name:$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 = select name from sysobjects where type=u$SqlCmd.Connection = $SqlConnection$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter$SqlAdapter.SelectCommand = $SqlCmd$DataSet = New-Object System.Data.DataSet$SqlAdapter.Fill($DataSet)$SqlConnection.Close()$DataSet.Tables[0] Hình 1.7Bây giờ hãy thực hiện mã connectsql.ps1 trên. [Hình 1.8]./connectsqlEnter SQL Server Name:: HOMESQLEXPRESSEnter Database Name:: AdventureWorksChú ý: HOME là máy chủ và SQLEXPRESS là tên ví dụ của SQL Server. Hãy thay thế tên nàybằng tên máy chủ và SQL Server của bạn. AdventureWorks là tên cơ sở dữ liệu. Bạn cũng chú ýthay thế tên cơ sở dữ liệu này cho tương ứng với tên cơ sở dữ liệu trên máy chủ. Hình 1.8Mã connectsql gán giá trị được nhập vào các biến $SQLSERVER và $DATABASE, kết nốichuỗi sử dụng các biến đó và hiển thị ra kết quả.Kết quả:name----ProductProductPhotoStoreContactAddressProductReviewTransactionHistoryAddressTypeProductSubcategoryAWBuildVersionTransactionHistoryArchiveProductVendorBillOfMaterialsUnitMeasureVendorPurchaseOrderDetailContactVendorAddressVendorContactPurchaseOrderHeaderContactCreditCardWorkOrderContactTypeCountryRegionCurrencyWorkOrderRoutingCountryRegionCreditCardCultureCurrencySalesOrderDetailCurrencyRateCustomerSalesOrderHeaderCustomerAddressDepartmentDocumentEmployeeSalesOrderHeaderSalesReasonSalesPersonEmployeeAddressEmployeeDepartmentHistoryEmployeePayHistorySalesPersonQuotaHistoryIllustrationSalesReasonIndividualSalesTaxRateJobCandidateLocationSalesTerritoryProductSalesTerritoryHistoryScrapReasonShiftProductCategoryShipMethodProductCostHistoryProductDescriptionShoppingCartItemProductDocumentProductInventorySpecialOfferProductListPriceHistorySpecialOfferProductProductModelStateProvinceProductModelIllustrationDatabaseLogProductModelProductDescriptionCultureErrorLogStoreProductPhotoTuy nhiên, khi viết mã tự động, bạn không muốn người dùng nhập dữ liệu. Thay vào đó, ta nênchấp nhận các tham số.Hãy nâng cấp đoạn mã trên bằng cách chấp nhận các tham số.[Hình 1.9]param ([string] $SQLSERVER,[string] $Database)$SqlConnection = New-Object System.Data.SqlClient.SqlConnection$SqlConnection.ConnectionString =Server=$SQLSERVER;Database=$DATABASE;IntegratedSecurity=True$SqlCmd = New-Object System.Data.SqlClient.S ...

Tài liệu được xem nhiều:

Gợi ý tài liệu liên quan: