24 thg 6, 2017

Hướng dẫn cấu hình để build MapWindow

Trong quá trình build MapWindow để chỉnh sửa mã nguồn theo nhu cầu của mình đã gặp một số lỗi và cách giải quyết như sau, minh ghi ra đây để có bạn nào có lỗi thì biết mà xử lý.
Các bước cài đặt:
1. Phải cài visual studio trước, cái này thì không cần phải bàn;
2. Thứ 2 là download và cài đặt syncfusion ht cài này các bạn đăng ký 1 tài khoản trên trang chủ sau đó lấy key nhé! Không phải crack cờ riếc gì đâu. Cái này là thiết kế theo giao diện metro.
3. Thứ 3 là download và cài đặt MapWinGIS. Cài đặt bình thường, cái này mình cài đặt bản 32 bit.
4. Là download mã nguồn mapwindow về và sửa lỗi.

Visual của mình là bản 2013 nên có một số lỗi sau bạn nào mà visual bản khác mà lỗi khác thì tự tìm hiểu nhé, còn không có lỗi thì xin chúc mừng!
- Khi mở project lên ở của số solution explorer bạn chuột phải vào và chọn Enable Nuget package restore. để có package nào thiếu thì nó tự lên Nuget lấy về.
- Mã nguồn của MapWindow thường nó để build ra bản 64bit. Nếu bạn cài MapWinGis 64 thì build được luôn nhưng mà trong giao diện thiết kế nó không lên để cho mà edit.
- Còn bạn mà cài MapWinGis 32 bit thì sửa lại thành 32bit. Cài này sửa: Chuột phải vào solution> chọn Properties sửa lại thành x86 hết;

- Mình còn gặp cái lỗi oái ăm nữa là cái Logger.Current nó cứ báo null nên giao diện thiết kê form không lên. Xử lý bằng cách là cho 1 lệnh if(Logger.Current!=null) vào trên nó.

Posted By Unknown08:39

15 thg 7, 2015

Hướng giải quyết vấn đề view không có khóa chính trong Entity Framework

View trong Entity Framework bắt buộc có khóa chính, tuy nhiên các view trong SQLserver sẽ không có khóa chính, các truy vấn thông thường EF sẽ tự động lấy khóa chính, nhưng mà những truy vấn kiểu group by để sum, count, ... nói chung là kiểu kiểu như vậy. thì không có khóa chính.
Khi đó cần sử dụng ROW_INDEX() để tạo ra 1 trường số thứ tự, rồi set nó làm key trong EF.





Posted By Unknown15:19

1 thg 7, 2015

Một chú ý về khóa ngoại (foregin key) của sqlserver trong khi làm phần mềm

Trong cơ sở dữ liệu có các khóa ngoại liên kết giữa các bảng với nhau. Thông thường chúng ta thường để mặc định. là No Action.

Ví dụ:
Ta có 2 bảng dữ liệu tbHangHoatbChiTietPhieuBanHang liên kết với nhau thông qua IdHangHoa.
- Nếu khóa ngoại để mặc định No Action thì bạn không thể xóa được 1 hàng trong tbHangHoa khi ở bảng tbChiTietPhieuBanHang đang sử dụng hàng hóa đó. Khi đó muốn xóa hàng hóa đó thì trước hết phải xóa các hàng hóa trong tbChiTietPhieuBanHang
- Còn để Cascade thì khi xóa 1 hàng ở tbHangHoa thì mọi hàng ở tbChiTietPhieuBanHang có sử dụng HangHoa đó thì đề bị xóa theo.
- Còn để Set Null thì giá trị IdHangHoa ở bảng tbChiTietPhieuBanHang sẽ được set giá trị NULL
- Còn để Default thì giá trị sẽ được để mặc định của trường IdHangHoa của bảng tbChiTietPhieuBanHang


Posted By Unknown10:38

30 thg 6, 2015

Hướng dẫn detach và attach cơ sở dữ liệu sử dụng FileStream

Cơ sở dữ liệu sử dụng FileStream, FileTable thì không thể attach được 1 cách thông thường mà phải sử dụng lệnh như sau:
Cơ sở dữ liệu thông thường có 3 file như sau:
*.mdf
*.log
folder
USE [master]
GO
CREATE DATABASE [FileStreamDB] ON 
( FILENAME = N'C:\FileStreamDB\FileStreamDB.mdf' ),
( FILENAME = N'C:\FileStreamDB\FileStreamDB_log.ldf' ),
FILEGROUP [FileStreamGroup] CONTAINS FILESTREAM DEFAULT 
( NAME = N'FileStreamDB_FSData', FILENAME = N'C:\FileStreamDB\FileStreamData' )
FOR ATTACH
GO

Posted By Unknown23:00

Các thao tác cơ bản với FileTable trong SQLserver 2012

I. TẠO CƠ SỞ DỮ LIỆU (DATABASE) SỬ DỤNG FILESTREAM
1. Tạo cơ sở dữ liệu sử dụng FILESTREAM
- Khởi động SQL Server Management Studio > New Query
-  Chạy truy vấn có cấu trúc dưới đây. Tuy nhiên đường dẫn đến thư mục chính phải tồn tại . Ở đây là 'E:\DATABASE_FILETABLE’


CREATE DATABASE TEN_CO_SO_DU_LIEU
ON
PRIMARY(Name = FileTableDB,FILENAME = 'E:\DATABASE_FILETABLE\FileTableDB.mdf'),
FILEGROUP FileTableFileGroup CONTAINS FILESTREAM
            (NAME = FileTableFS, FILENAME='E:\DATABASE_FILETABLE\FileStream')
LOG ON (Name = FileTableDBLog, FILENAME = 'E:\DATABASE_FILETABLE\FileTableLOG.ldf')
GO

- Sau khi chạy truy vấn.  Các File FileTableDB.mdf FileTableLOG.ldf' và thư mục FileStream sẽ được tạo ra theo đường dẫn trên.

2. Cho phép truy cập CSDL (None-Transactional Access at the Database)
a. Kiểm tra trạng thái của None-Transactional Access at the Database
- Cách 1 : Trong SQL Management Studio , ấn chuột phải vào CSDL vừa tạo
   Chọn Properties > Options.
   Xem phần FileStream None-Transactional Access at the Database (Full/Off/ReadOnly)

- Cách 2 : Chạy truy vấn có cấu trúc sau đây  :

SELECT DB_NAME(database_id), non_transacted_access_desc
                                FROM sys.database_filestream_options;
GO
           

b. Đặt None-Transactional Access at the Database với chế độ Full và thiết lập tên thư mục gốc của FILESTREAM
- Cách 1 : Trong SQL Management Studio , ấn chuột phải vào CSDL vừa tạo
   Chọn Properties > Options.
   Trong phần FileStream None-Transactional Access at the Database chọn Full
   Trong phần FileStream Directory Name : nhập tên thư mục gốc sẽ lưu trữ các file của   CSDL
- Cách 2 : Chạy truy vấn có cấu trúc sau đây  :

ALTER DATABASE FILETABLEDATABASETEST
SET FILESTREAM (NON_TRANSACTED_ACCESS = FULL,
DIRECTORY_NAME = N'FileTableDataBase');
GO


                FileTableDataBase : tên thư mục gốc sẽ chứa các file sẽ đưa vào CSDL

Cũng có thể set chế độ này ngay từ khi tạo DATABASE


II. LÀM VIỆC VỚI FILETABLE SQL
1. Cách tạo FileTable
Chạy truy vấn có cấu trúc sau đây  :

USE [FILETABLEDATABASETEST] -- Ten CSDL
GO
CREATE TABLE FileTableDB AS FILETABLE -- Ten FileTable
  WITH
  (
    FILETABLE_DIRECTORY = 'FileTableDIR', -- Thu muc luu tru cac file trong FileTable
    FILETABLE_COLLATE_FILENAME = database_default
  );
GO

- Sau khi chạy truy vấn này , SQL Server sẽ tự động tạo 1 Thư mục trong Network :
“DIRECTORY_NAME\FILETABLE_DIRECTORY”
Cụ thể ở đây là  “FileTableDataBase\ FileTableDIR”


- Đồng thời 1 bảng gồm các cột lưu trữ thông tin File sẽ được tạo ra :
·         creation_time              : Thời gian tạo File
·         name                            : Tên file
·         is_archive
·         is_directory
·         is_hidden                                 : Trạng thái file có bị ẩn không
·         is_offline
·         is_readonly                              : Trạng thái file có ở chế độ Readonly không
·         is_system                     : Là file hệ thống
·         is_temporary
·         last_access_time          :Thời gian truy cập cuối cùng
·         last_write_time                        : Thời gian ghi cuối cùng
·         path_locator    
·         stream_id                     : Stream này là duy nhất (khóa chính)

- Ta có thể xem danh sách file trong Filetable bằng truy vấn sau :
USE [FILETABLEDATABASETEST]
GO
SELECT *  FROM FileTableDB
GO



Lấy đường dẫn đầy đủ này bằng cách chạy truy vấn (Quan trọng trong việc làm việc với System.IO trong NET)
USE [FILETABLEDATABASETEST]
GO
SELECT FileTableRootPath('FileTableDB') AS FileTableRootPath

2. Thao tác với FileTable trong SQL
*** Sử dụng giao diện Windows ***
- Trong SQL Management Studio > Chọn CSDLTables > File Tables      
- Ấn chuột phải vào Bảng vừa tạo chọn “Explore FileTable Directory
- Khi đó SQL Server sẽ mở đường dẫn bạn đã tạo ở bước trước bằng Windows Explorer. Ta có thể thực hiện các thao tác Copy/Paste/Delete như trên các thư mục của máy tính


***Sử dụng truy vấn ***

a. Tải File lên FileTable
Chạy truy vấn có cấu trúc sau đây  :

USE [FILETABLEDATABASETEST] -- Ten CSDL
GO

INSERT INTO [dbo].[FileTableDB] -- Ten Bang
([name],[file_stream])           
SELECT
'ExampleFileTable.doc', * FROM OPENROWSET(BULK N'E:\Example.doc’, SINGLE_BLOB) AS FileData
GO

Khi chạy truy vấn : File “Example.doc” trong ổ đĩa E (E:\Example.doc) sẽ được tải lên FileTable với tên
“ExampleFileTable”

Chú ý : File Upload lên CSDL không được là file rỗng và tên file không có dấu tiếng việt và các kí tự đặc biệt

b. Xóa file trên FileTable

Chạy truy vấn có cấu trúc sau đây  :

USE [FILETABLEDATABASETEST] -- Ten CSDL
GO
DELETE FROM [dbo].[FileTableDB] WHERE name = 'ExampleFileTable.doc';

Khi đó file có tên 'ExampleFileTable.doc'  sẽ bị xóa khởi FileTable



3. Thao tác với FileTable bằng thư viện trong System.IO trong .NET
Chú ý : Có thể sử dụng thư viện System.Data.SqlClient để tương tác trực tiếp với SQL . Sau đó sử dụng những truy vấn ở phần 2
Trên trang chủ của Microsoft có viết “Có thể sử dụng thư viện IO trong C#.NET hoặc VB.NET” để tương tác trực tiếp với các File/Directory trong FileTable
Việc quan trọng ở đây ta vẫn phải sử dụng System.Data.SqlClient để chạy truy vấn :
SELECT FileTableRootPath('FileTableDB') AS FileTableRootPath

Từ đó lấy được đường dẫn tới thư mục chứa các file trong FileTable.

Chú ý : Ta thường lấy được đường dẫn dạng :
\\IPSERVER \sqlexpress\FileTableDataBase\FileTableDIR
Tưởng như đường dẫn này không tồn tại nhưng thực tế khi kết nối với SQL server . SQL sẽ tự động tạo một đường dẫn ảo như vậy. Khi ngắt kết nối với Server đường dẫn này sẽ biến mất

Sau khi lấy được đường dẫn của “FileTable_Directory”
Ta có thể sử System.IO để Copy/Paste/Delete/Rename bằng các phương thức khá cơ bản để tương tác với Folder này như :
System.IO.File.Copy
System.IO.File.Delete

Ta cũng có thể mở các file này một cách rất cơ bản :

System.Diagnostics.Process.Start(DUONG_DAN);

Posted By Unknown22:56

Hướng dẫn cấu hình SQLServer sử dụng FileStream

I. KÍCH HOẠT FILESTREAM
- Chạy “SQL Server Configuration Manager
(Mặc định tại C:\Windows\SysWOW64\mmc.exe – hoặc tìm kiếm trên “SQL Server Configuration Manager” ở StartMenu)

- Tại “SQL Server Services” . Ấn chuột phải vào “SQL Server (….)” chọn “Properties

- Trong Tab FILESTREAM tích vào các ô :
            + Enable FILESTREAM for Transact-SQL access (Kích hoạt FILESTRAM cho Transact-SQL)         
            + Enable FILESTREAM for file I/O access
            + Allow remote  clients access to FILESTREAM data (cho phép máy khách truy cập                        FILESTREAM)
- Sau đó Restart Server (Chuột phải vào “SQL Server (…)” chọn “Restart

Khởi động SQL Management Studio > New query
Chạy truy vấn sau :
EXEC sp_configure filestream_access_level, 2
GO

Xác nhận bằng truy vấn :
RECONFIGURE

II. CHO PHÉP FILESTREAM HOẠT ĐỘNG KHÔNG QUA GIÁM SÁT TƯỜNG LỬA
(Windows Firewall)
- Trong Control Panel truy cập vào Windows Firewall > Chọn Advance Settings
- Trong Windows FireWall with Advance Security on Local Computer click vào Inbound Rules
- Ấn chuột phải vào Inbound Rules chọn New rule…Trong tab Rule type chọn Port > Next
- Chọn các tick : TCP . Trong Specific local ports139 > Next> Next>Next
- Điền tên (tùy ý) và mô tả vào 2 textbox NameDescirption (optional)
- Ấn Finish

Làm tương tự với Port 445

Posted By Unknown22:54

23 thg 6, 2015

Download devexpress full crack 14.1.6

Posted By Unknown22:43