2012年6月30日 星期六
如何讀取一個超大的文字檔
最近由於工作上的需要,接到一個特別的SQL Server Performance Tuning 的 Case,但是客戶的Error Log竟然要到66G左右,想說我的主機只有8G的記憶體,開到來我不就下班了,而且可能系統也會撐不住吧,果然透過了幾個常見的軟體,一開沒多久不是系統無回應,就是系統掛掉了,經過不斷的找尋,終於找到UltraEdit只要設定後,就可以達到。
設定的方法,非常簡單,請參考下列的步驟:
程式版本:UltraEdit Professional 10.10c
1、開啟 UltraEdit 之後選擇 Advanced -> Configuration。
2、取消勾選 [Disable line numbers (Helps large file handing)]。
3、選取 [Open file without temp file but NO Prompt (CAUTION: Edits are pemanent, decreases load time large files)]
4、Threshold for above (KB): 500000
參考連結:
http://www.ultraedit.com/support/tutorials_power_tips/ultraedit/large_file_handling.html
關鍵字:Large File、UltraEdit、Large File Handing
2012年6月25日 星期一
如何透過T-SQL進行Database Mirroring的節點角色切換
之前的文章已有介紹到許多關於Database Mirroring的部份,相信大家都有一定的了解,本篇這次再來介紹,在Database Mirroring的架構下,如果要有自動 Failover 的功能時,就必須要有第三台Witness進行監控的動作,但是實際的情況下,可以只能有兩台進行,這時就必須以手動的方式進行 Failover 的動作。
但是當 Principal 的主機無法提供服務時,該如何透過第二個節點(Mirror)接任Principal的角色,由於當第一個節點無法服務時,此時無法透過GUI的方式進行切換,所以本篇就來介紹該如何進行。
前導文章:
SQL Server - 如何建立 Database Mirroring
http://caryhsu.blogspot.tw/2011/12/sql-server-database-mirroring.html
SQL Server 2012 AlwaysOn vs. Database Mirroring
http://caryhsu.blogspot.tw/2012/04/sql-server-2012-alwayson-vs-database.html
第一台(Principal)無法服務時,如何進行手動的Failover的方式。
當第一台(Principal)無法服務時,無法透過GUI進行切換的動作,所以必須透過下列的方法進行。
1、您的Database Mirroring只有兩台,但是建議您先將作業模式更改為 [不具有自動容錯移轉的高安全性(同步)],藉以減少日後手動進行容錯移轉時,造成資料遺失的可能性。
2、當Principal 的主機無法服務時,請執行下列的語法進行 Principal 與 Mirror角色的對換。
3、當原本的Principal上線時,您可以透過下列的指令讓Database Mirroring繼續進行同步。
參考網址:
ALTER DATABASE Database Mirroring (Transact-SQL)
http://msdn.microsoft.com/en-us/library/bb522476.aspx
關鍵字:SQL Server、Database Mirroring
但是當 Principal 的主機無法提供服務時,該如何透過第二個節點(Mirror)接任Principal的角色,由於當第一個節點無法服務時,此時無法透過GUI的方式進行切換,所以本篇就來介紹該如何進行。
前導文章:
SQL Server - 如何建立 Database Mirroring
http://caryhsu.blogspot.tw/2011/12/sql-server-database-mirroring.html
SQL Server 2012 AlwaysOn vs. Database Mirroring
http://caryhsu.blogspot.tw/2012/04/sql-server-2012-alwayson-vs-database.html
第一台(Principal)無法服務時,如何進行手動的Failover的方式。
當第一台(Principal)無法服務時,無法透過GUI進行切換的動作,所以必須透過下列的方法進行。
1、您的Database Mirroring只有兩台,但是建議您先將作業模式更改為 [不具有自動容錯移轉的高安全性(同步)],藉以減少日後手動進行容錯移轉時,造成資料遺失的可能性。
ALTER DATABASE [Database Name] SET SAFETY FULL
GO
2、當Principal 的主機無法服務時,請執行下列的語法進行 Principal 與 Mirror角色的對換。
ALTER DATABASE [Database Name] SET PARTNER
FORCE_SERVICE_ALLOW_DATA_LOSS
3、當原本的Principal上線時,您可以透過下列的指令讓Database Mirroring繼續進行同步。
ALTER DATABASE [Database Name] SET PARTNER RESUME
參考網址:
ALTER DATABASE Database Mirroring (Transact-SQL)
http://msdn.microsoft.com/en-us/library/bb522476.aspx
關鍵字:SQL Server、Database Mirroring
2012年6月22日 星期五
Java程式如何使用JDBC 4.0連線到SQL Server
SQL Server使用率不斷的提高,前端的應用程式不只是由Microsoft所推出的.Net應用程式外,也可以讓其他不同的應用程式進行存取與使用,在這篇我就來介紹如何透過 Microsoft 所推出的JDBC 4.0來進行與Java的連線。
設定流程:
1、軟體下載:
Microsoft JDBC Driver 4.0 for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774
2、目錄設定:
3、環境變數設定:
CLASSPATH = .;C:\Program Files (x86)\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\sqljdbc.jar
4、範範程式:
參考網址:
Microsoft JDBC Driver 4.0 for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774
如何: 著手進行 Microsoft JDBC
http://support.microsoft.com/kb/313100
關鍵字:SQL Server、Java、JDBC
設定流程:
1、軟體下載:
Microsoft JDBC Driver 4.0 for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774
2、目錄設定:
- 下載後即可點選執行檔,即可進行解壓縮。
- 解壓縮後,在 %ProgramFiles% 建立一個名稱為 Microsoft JDBC Driver 4.0 for SQL Server 的目錄。
- 再將檔案複製到此目錄下,目錄如下。
%ProgramFiles%\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_<version>\<language>\help\default.htm. This will display the help system in your Web browser.
3、環境變數設定:
CLASSPATH = .;C:\Program Files (x86)\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\sqljdbc.jar
4、範範程式:
import java.*;
import java.sql.*;
public class test_connection{
private java.sql.Connection con = null;
private final String url = "jdbc:sqlserver://";
private final String serverName= "SQL_SERVER_NAME";
private final String portNumber = "1433";
private final String databaseName= "DB_NAME";
private final String userName = "USER_NAME";
private final String password = "PASSWORD";
// Constructor
public test_connection(){}
private String getConnectionUrl(){
return url+serverName+":"+portNumber+";databaseName="+databaseName+";user="+userName+";password="+password+";";
}
private java.sql.Connection getConnection(){
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(getConnectionUrl());
if(con!=null) System.out.println("Connection Successful!");
}catch(Exception e){
e.printStackTrace();
System.out.println("Error Trace in getConnection() : " + e.getMessage());
}
return con;
}
/*
Display the driver properties, database details
*/
public void displayDbProperties(){
java.sql.DatabaseMetaData dm = null;
java.sql.ResultSet rs = null;
try{
con= this.getConnection();
if(con!=null){
dm = con.getMetaData();
System.out.println("Driver Information");
System.out.println("\tDriver Name: "+ dm.getDriverName());
System.out.println("\tDriver Version: "+ dm.getDriverVersion ());
System.out.println("\nDatabase Information ");
System.out.println("\tDatabase Name: "+ dm.getDatabaseProductName());
System.out.println("\tDatabase Version: "+ dm.getDatabaseProductVersion());
System.out.println("Avalilable Catalogs ");
rs = dm.getCatalogs();
while(rs.next()){
System.out.println("\tcatalog: "+ rs.getString(1));
}
rs.close();
rs = null;
}else System.out.println("Error: No active Connection");
}catch(Exception e){
e.printStackTrace();
}
finally {
closeConnection();
}
dm=null;
}
public void test_insert(){
java.sql.Statement stmt = null;
String str_sql = "";
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat();
try{
con= this.getConnection();
stmt = con.createStatement();
df.applyPattern("yyyy-MM-dd HH:mm:ss");
if(con!=null){
str_sql = "insert into cary_test_table " +
"values(" + i + ",'test')";
stmt.execute(str_sql);
java.util.Date now = new java.util.Date();
System.out.println("Inserted Sucessful:" + df.format(now));
}else System.out.println("Error: No active Connection");
}catch(Exception e){
e.printStackTrace();
}
finally {
if(stmt != null){
try{
stmt.close();
}
catch(SQLException e) {
e.printStackTrace();
}
}
closeConnection();
}
}
private void closeConnection(){
try{
if(con!=null)
con.close();
con=null;
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception
{
test_connection myDbTest = new test_connection();
myDbTest.displayDbProperties();
myDbTest.test_insert();
}
}
參考網址:
Microsoft JDBC Driver 4.0 for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774
如何: 著手進行 Microsoft JDBC
http://support.microsoft.com/kb/313100
關鍵字:SQL Server、Java、JDBC
2012年6月19日 星期二
如何使用Reporting Service製作報表
在前面幾個章節介紹了滿多Reporting Service的使用,相信大家都對Reporting Service有了一定的認識,但是最近接到滿多從不同領域轉而使用Reporting Service時遇到不知如何下手,所以此篇我們來介紹個最基本的,就是如何製作你的第一張報表。
本篇我們透過以前就非常有名的北風資料庫 (Northwind) 為範例,如果你沒有此資料庫時,請先至下列的網址下載並安裝。
Northwind and pubs Sample Databases for SQL Server 2000
http://www.microsoft.com/en-us/download/details.aspx?id=23654
設計流程:
1、開啟 SQL Server Business Intelligence Development Studio
2、點選 [File] -> [New] -> [Project] 3、請選擇 Business Intelligence Projects -> Report Server Project
4、新增一個 [Shared Data Sources],連線到您的資料來源主機
5、輸入資料來源屬性
6、新增一張報表
7、選擇在步驟5中建立的Data Source
8、請輸入您要查詢的語法
9、請選擇 [Tabular]
10、由於我的查詢是秀出訂單資訊,所以我將OrderID、OrderDate、CompanyName這些訂單主表的資訊放在群組中,其他的資訊則放在細項資料。
11、呈現的方式可以選擇 [Stepped] 即可,另外為了統計群組資訊,請額外勾選 [Include subtotals]
12、樣式請自行選擇即可。
13、報表呈現(設計模式)
14、由於我們只需要一個群組即可,所以你可以把 [OrderData]與[CompanyName]移到同一列,完成後如下圖。
15、報表預覽
關鍵字:Reporting Service、Northwind
本篇我們透過以前就非常有名的北風資料庫 (Northwind) 為範例,如果你沒有此資料庫時,請先至下列的網址下載並安裝。
Northwind and pubs Sample Databases for SQL Server 2000
http://www.microsoft.com/en-us/download/details.aspx?id=23654
設計流程:
1、開啟 SQL Server Business Intelligence Development Studio
2、點選 [File] -> [New] -> [Project] 3、請選擇 Business Intelligence Projects -> Report Server Project
4、新增一個 [Shared Data Sources],連線到您的資料來源主機
5、輸入資料來源屬性
6、新增一張報表
7、選擇在步驟5中建立的Data Source
8、請輸入您要查詢的語法
SELECT
Orders.OrderID, Orders.OrderDate, Customers.CompanyName, Products.ProductName,
OrderDetails.UnitPrice, OrderDetails.Quantity
FROM Orders INNER JOIN OrderDetails ON
Orders.OrderID = OrderDetails.OrderID INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID INNER JOIN
Products ON OrderDetails.ProductID = Products.ProductID
9、請選擇 [Tabular]
10、由於我的查詢是秀出訂單資訊,所以我將OrderID、OrderDate、CompanyName這些訂單主表的資訊放在群組中,其他的資訊則放在細項資料。
11、呈現的方式可以選擇 [Stepped] 即可,另外為了統計群組資訊,請額外勾選 [Include subtotals]
12、樣式請自行選擇即可。
14、由於我們只需要一個群組即可,所以你可以把 [OrderData]與[CompanyName]移到同一列,完成後如下圖。
15、報表預覽
關鍵字:Reporting Service、Northwind
2012年6月12日 星期二
如何處理 SQL Server Compact 的資料庫
SQL Server的應用非常的廣泛,也有不同的版本提供使用者進行選擇,而在智慧型裝置上由於硬體上的限制,所以可以安裝的軟體就會與一般桌上型電腦的軟體不同,而SQL Server Compact就是專門開發出應用在此領域上的軟體。
SQL Server Compact 3.5 的概觀
-----------------------------------------------------------------------------------------------
SQL Server Compact 3.5 是裝置應用程式的理想資料庫,因為其中提供:
會特別介紹到這一篇主要由於最近同事有需要將SQL Server Compact的檔案轉到SQL Server中進行資料的匯整,所以與我討論是否有較合適的方式,本來想說可以透過SSIS(SQL Server Integration Services) 來進行匯入匯出(Import/Output),但可惜的是,SQL Server Compact只能當成目的端,無法變成來源端,也就是只能將資料匯入SQL Server Compact,但是無法匯出,如下圖。
後來我找到了一個好方法,在此分享給大家,我將個人的方法整理如下,再請參考。
1、透過SQL Server Management Studio連線到 SQL Server Compact。
1-1 請先安裝 SQL Server Compact 套件
Microsoft SQL Server Compact 4.0
http://www.microsoft.com/en-us/download/details.aspx?id=17876
Microsoft SQL Server Compact 3.5 Service Pack 2 for Windows Desktop
http://www.microsoft.com/en-us/download/details.aspx?id=5783
1-2 開啟 SQL Server Management Studio,在Server type的地方請選擇 [SQL Server Compact] ,然後Database file請輸入你存放 SDF (SQL Server Compact檔案的附檔名) 的檔案位置。
1-3 連線完成後,你就可以透過 SQL 語法存取此檔案。
由於內建的功能無法將SDF的檔案匯入到SQL Server中,所以我們要再安裝下列的套件,然後你就可以透過SQL Server Management Studio進行。
2、安裝整合套件
2-1 請下載並安裝下列的檔案。
SQL Compact data and schema script utility
http://exportsqlce.codeplex.com/releases/view/80551
2-2 安裝完成後,您再次啟動SQL Server Management Studio,你就可以看到可以透過此工具將檔案與資料轉成SQL的語法進行匯出了。
最後由於資料都是採取全部匯出的方式,所以有必須進行差異比對時,就必須在匯入後再進行處理即可,或許有其他更好的軟體或處理方式,希望大家也不吝分享了,謝謝。
參考連結:
使用 SQL Server Compact 3.5 資料庫 (裝置)
http://msdn.microsoft.com/zh-tw/library/aa983313(v=vs.90).aspx
SQL Compact data and schema script utility
http://exportsqlce.codeplex.com/
關鍵字:SQL Server、SQL Server Compact、SDF
SQL Server Compact 3.5 的概觀
-----------------------------------------------------------------------------------------------
SQL Server Compact 3.5 是裝置應用程式的理想資料庫,因為其中提供:
- 輕量型作業 (是在處理序中執行的,且在裝置上只需要 2MB 安裝空間)。
- SQL Server 查詢程式設計功能的豐富子集。
- SQL Server 資料型別豐富而一致的子集。
- ADO.NET 和 OLE DB 的支援。
- 使用 .sdf 資料庫檔案的本機資料存放。
會特別介紹到這一篇主要由於最近同事有需要將SQL Server Compact的檔案轉到SQL Server中進行資料的匯整,所以與我討論是否有較合適的方式,本來想說可以透過SSIS(SQL Server Integration Services) 來進行匯入匯出(Import/Output),但可惜的是,SQL Server Compact只能當成目的端,無法變成來源端,也就是只能將資料匯入SQL Server Compact,但是無法匯出,如下圖。
後來我找到了一個好方法,在此分享給大家,我將個人的方法整理如下,再請參考。
1、透過SQL Server Management Studio連線到 SQL Server Compact。
1-1 請先安裝 SQL Server Compact 套件
Microsoft SQL Server Compact 4.0
http://www.microsoft.com/en-us/download/details.aspx?id=17876
Microsoft SQL Server Compact 3.5 Service Pack 2 for Windows Desktop
http://www.microsoft.com/en-us/download/details.aspx?id=5783
1-2 開啟 SQL Server Management Studio,在Server type的地方請選擇 [SQL Server Compact] ,然後Database file請輸入你存放 SDF (SQL Server Compact檔案的附檔名) 的檔案位置。
1-3 連線完成後,你就可以透過 SQL 語法存取此檔案。
由於內建的功能無法將SDF的檔案匯入到SQL Server中,所以我們要再安裝下列的套件,然後你就可以透過SQL Server Management Studio進行。
2、安裝整合套件
2-1 請下載並安裝下列的檔案。
SQL Compact data and schema script utility
http://exportsqlce.codeplex.com/releases/view/80551
2-2 安裝完成後,您再次啟動SQL Server Management Studio,你就可以看到可以透過此工具將檔案與資料轉成SQL的語法進行匯出了。
最後由於資料都是採取全部匯出的方式,所以有必須進行差異比對時,就必須在匯入後再進行處理即可,或許有其他更好的軟體或處理方式,希望大家也不吝分享了,謝謝。
參考連結:
使用 SQL Server Compact 3.5 資料庫 (裝置)
http://msdn.microsoft.com/zh-tw/library/aa983313(v=vs.90).aspx
SQL Compact data and schema script utility
http://exportsqlce.codeplex.com/
關鍵字:SQL Server、SQL Server Compact、SDF
2012年6月9日 星期六
Reporting Service整合Bing與Map元件
上一篇我已介紹如果在Reporting Service中整合Map元件,但是眼尖的人應該有注意到,在Map元件也可以整合Bing的地圖,但是關於相關的整合方法在網路上,可參考的比較少,所以我就在這一篇再深入介紹如何引用Bing在Map元件中。
相關文章:
Reporting Service整合Map元件
http://caryhsu.blogspot.tw/2012/06/reporting-servicemap.html
設計流程說明:
1、 開啟 [SQL Server Business Intelligence Development Studio]
2、 開啟一個新的報表專案
3、 新增一個 [Shared Data Sources] ,資料庫請選擇 [AdventureWorksDW2008R2],如果沒有此範例資料庫的話,請到下列的網址進行下載與安裝。
參考文章:
安裝SQL Server 中的範例資料庫
http://caryhsu.blogspot.tw/2011/02/sql-server.html
4、 新增一個空白報表,然後將 Map 元件加入
5、請選擇 [SQL Server spatial query] ,然後選擇下一步。
6、請選擇 [Add a dataset that includes fields that relate to the spatial data that you chose earlier] 新增一個新的 Dataset
7、點選 [New] 指定原本已新增的 Data Source
8、點選 [New] 之後,再點選 [Use shared data source reference] ,然後選擇一開始建立的 Data Source。
9 、請將下列的查詢語法貼入下列的查詢視窗中。
10、在右半邊的 [Layer type:] 請選擇 Point,然後請勾選下方的 [Add a Bing Maps tile Type],而 Tile Type 的部份請選擇[Hybrid]。
11、呈現節點的方式,我們以第一種為例。
12、最後樣式的部份,您可以自行選擇,然後點選完成即可。
13、背影的部份在開發環境下可能會有看不到的情況,你可以嘗試將報表部署到主機端後再行確認即可。
背景圖片如果無法載入時處理方式。
最後補充,當你在畫面上無法看到上述的背景圖時,你會看到顯示 [Unable to connect to the remote server],再請參考下列的方式進行解決。
解決方法:
1、請開啟下列的檔案。 預設路徑:C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\web.config
2、加入下列的設定值,此區的設定值,你必須放置在 </runtime> 與 </configuration> 的中間即可。
上述紅色的區塊請更改為您目前可使用的ProxyServer與Port。
關鍵字:SQL Server、Reporting Service、Map、Bing
相關文章:
Reporting Service整合Map元件
http://caryhsu.blogspot.tw/2012/06/reporting-servicemap.html
設計流程說明:
1、 開啟 [SQL Server Business Intelligence Development Studio]
2、 開啟一個新的報表專案
3、 新增一個 [Shared Data Sources] ,資料庫請選擇 [AdventureWorksDW2008R2],如果沒有此範例資料庫的話,請到下列的網址進行下載與安裝。
參考文章:
安裝SQL Server 中的範例資料庫
http://caryhsu.blogspot.tw/2011/02/sql-server.html
4、 新增一個空白報表,然後將 Map 元件加入
5、請選擇 [SQL Server spatial query] ,然後選擇下一步。
6、請選擇 [Add a dataset that includes fields that relate to the spatial data that you chose earlier] 新增一個新的 Dataset
7、點選 [New] 指定原本已新增的 Data Source
8、點選 [New] 之後,再點選 [Use shared data source reference] ,然後選擇一開始建立的 Data Source。
9 、請將下列的查詢語法貼入下列的查詢視窗中。
SELECT HumanResources.Address.AddressID, HumanResources.Address.AddressLine1, HumanResources.Address.AddressLine2, HumanResources.Address.City,
HumanResources.Address.StateProvinceID, HumanResources.Address.PostalCode, HumanResources.Address.SpatialLocation
FROM Sales.SalesOrderHeader INNER JOIN
HumanResources.Address ON Sales.SalesOrderHeader.BillToAddressID = HumanResources.Address.AddressID
WHERE (HumanResources.Address.City = N'Lavender Bay')
10、在右半邊的 [Layer type:] 請選擇 Point,然後請勾選下方的 [Add a Bing Maps tile Type],而 Tile Type 的部份請選擇[Hybrid]。
11、呈現節點的方式,我們以第一種為例。
12、最後樣式的部份,您可以自行選擇,然後點選完成即可。
13、背影的部份在開發環境下可能會有看不到的情況,你可以嘗試將報表部署到主機端後再行確認即可。
背景圖片如果無法載入時處理方式。
最後補充,當你在畫面上無法看到上述的背景圖時,你會看到顯示 [Unable to connect to the remote server],再請參考下列的方式進行解決。
解決方法:
1、請開啟下列的檔案。 預設路徑:C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\web.config
2、加入下列的設定值,此區的設定值,你必須放置在 </runtime> 與 </configuration> 的中間即可。
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy bypassonlocal="True" proxyaddress="PorxyServer:Port" />
</defaultProxy>
</system.net>
上述紅色的區塊請更改為您目前可使用的ProxyServer與Port。
關鍵字:SQL Server、Reporting Service、Map、Bing
2012年6月2日 星期六
Reporting Service整合Map元件
Reporting Service隨著版本不斷的更新,功能也不斷的推陳出新,我個人是從SQL Server 2005之後開始接觸,但是在Reporting Service 2008之後,更新與改變後的功能更是接近可以取代其他有名且昂貴的報表軟體,而在2008 R2之後,又新增了 Map 的元件,讓你更可以在報表中整合地圖(Map)元件,底下我們就來介紹如何使用此元件。
設計流程:
1、 開啟[SQL Server Business Intelligence Development Studio]
2、 開啟一個新的報表專案
3、 新增一個 [Shared Data Sources],資料庫請選擇 [AdventureWorksDW2008R2],如果沒有此範例資料庫的話,請參考我之前的另一篇文章進行安裝,謝謝。
參考文章:
安裝SQL Server 中的範例資料庫
http://caryhsu.blogspot.tw/2011/02/sql-server.html
4、 新增一個空白報表,然後將Map元件加入
5、 請選擇 [Map Gallery] 和 [USA] -> [USA by State Exploded],然後選擇下一步。
6、 這個步驟您可以手動調整地圖的顯示大小與解析度,採用預設值即可。
7、 地圖樣示,請選擇第二個進行。
8、 請選擇[Add a dataset that includes fields that relate to the spatial data that you chose earlier] 新增一個新的Dataset
9、 點選 [New] 指定原本已新增的 Data Source
點選 [New] 之後,再點選[Use shared data source reference] ,然後選擇一開始建立的Data Source。
10、 請將下列的查詢語法貼入下列的查詢視窗中。
點選[!] 進行執行時,會請你輸入日期的部份,請輸入2007,此時你會看到原本下方查詢的部份就會秀出查詢結果了。
11、 在第一個部份,STUSPS的部份,對應的欄位請選擇 [StateProvinceCode] 即可。
12、 最後樣式的部份,您可以自行選擇,但統計的值,也就是[Field to visualize] ,請選擇[Sum(Sales)],然後點選完成即可。
13、完成後的報表預覽。
參考網址:
Maps (Report Builder 3.0 and SSRS) http://msdn.microsoft.com/en-us/library/ee240845(v=sql.105)#Process
關鍵字:SQL Server、Reporting Service、Map
設計流程:
1、 開啟[SQL Server Business Intelligence Development Studio]
2、 開啟一個新的報表專案
3、 新增一個 [Shared Data Sources],資料庫請選擇 [AdventureWorksDW2008R2],如果沒有此範例資料庫的話,請參考我之前的另一篇文章進行安裝,謝謝。
參考文章:
安裝SQL Server 中的範例資料庫
http://caryhsu.blogspot.tw/2011/02/sql-server.html
4、 新增一個空白報表,然後將Map元件加入
5、 請選擇 [Map Gallery] 和 [USA] -> [USA by State Exploded],然後選擇下一步。
6、 這個步驟您可以手動調整地圖的顯示大小與解析度,採用預設值即可。
7、 地圖樣示,請選擇第二個進行。
8、 請選擇[Add a dataset that includes fields that relate to the spatial data that you chose earlier] 新增一個新的Dataset
9、 點選 [New] 指定原本已新增的 Data Source
點選 [New] 之後,再點選[Use shared data source reference] ,然後選擇一開始建立的Data Source。
10、 請將下列的查詢語法貼入下列的查詢視窗中。
SELECT g.StateProvinceCode, SUM(f.ExtendedAmount) AS Sales
FROM FactResellerSales AS f INNER JOIN
DimDate AS d ON d.DateKey = f.ShipDateKey INNER JOIN
DimReseller AS s ON s.ResellerKey = f.ResellerKey INNER JOIN
DimGeography AS g ON g.GeographyKey = s.GeographyKey
WHERE (d.CalendarYear = @CALENDAR_YEAR) AND (g.CountryRegionCode = 'US')
GROUP BY g.StateProvinceCode
點選[!] 進行執行時,會請你輸入日期的部份,請輸入2007,此時你會看到原本下方查詢的部份就會秀出查詢結果了。
11、 在第一個部份,STUSPS的部份,對應的欄位請選擇 [StateProvinceCode] 即可。
12、 最後樣式的部份,您可以自行選擇,但統計的值,也就是[Field to visualize] ,請選擇[Sum(Sales)],然後點選完成即可。
13、完成後的報表預覽。
參考網址:
Maps (Report Builder 3.0 and SSRS) http://msdn.microsoft.com/en-us/library/ee240845(v=sql.105)#Process
關鍵字:SQL Server、Reporting Service、Map
訂閱:
文章 (Atom)