Khắc phục lỗi "Saving changes is not permitted" khi lưu bảng trong SQL Server

 Trong quá trình làm việc với Microsoft SQL Server Management Studio (SSMS) , đôi khi chúng ta cần thay đổi cấu trúc của 1 bảng nào đó ngay bằng giao diện đồ hoạ rất trực quan và thân thiện của SSMS. Tuy nhiên, đôi lúc chúng ta sẽ gặp phải thông báo lỗi "Saving changes is not permitted" khi chọn lưu bảng vừa thay đổi cấu trúc trong một Modal Dialog có tiêu đề là Save. Hậu quả là nỗ lực thay đổi cấu trúc chúng ta đã thực hiện trên bảng hiện tại đều bị SSMS khước từ ghi nhận.

NHẬN DẠNG LỖI "SAVING CHANGES IS NOT PERMITTED" CỦA SQL SERVER

Như đã trình bày, lỗi này xuất hiện khi chúng ta cố gắng thay đổi cấu trúc của bảng trong Microsoft SQL Server Management Studio, và cụ thể là trong những tình huống thay đổi cấu trúc bảng mà SQL Server buộc phải tạo lại bảng như:

  • Thay đổi kiểu dữ liệu của một hoặc nhiều cột trong bảng
  • Thay đổi các ràng buộc toàn vẹn NULL, NOT NULL
  • Thay đổi thứ tự của các cột trong bảng
  • Thêm cột mới vào giữa bảng
  • Xoá một hoặc nhiều cột khỏi bảng

Trong hình minh hoạ, chúng tôi đang thay đổi kiểu dữ liệu của cột b ở bảng tbtest từ kiểu dữ liệu INT thành kiểu dữ liệu NVARCHAR(50), sau thao tác này nếu chọn chức năng SAVE để lưu các thay đổi về cấu trúc lên bảng thì SSMS sẽ thông báo lỗi như sau:



NGUYÊN NHÂN GÂY RA LỖI "SAVING CHANGES IS NOT PERMITTED" TRONG SSMS CỦA SQL SERVER

Bản thân SSMS cho rằng, nếu chấp nhận thực hiện những hình thức thay đổi cấu trúc như đã liệt kê ở trên, SSMS sẽ phải yêu cầu SQL Server xoá bảng hiện tại (và các bảng có liên quan nếu có) rồi sau đó tạo lại. Như vậy, nếu không kiểm soát tốt những thay đổi cần thực hiện theo kiểu này, chúng ta có thể làm mất dữ liệu đang lưu trữ trên các bảng của hệ thống. Do đó, mặc định SQL Server bật thiết lập tuỳ chọn "ngăn chặn thao tác lưu bảng có cấu trúc bị thay đổi đến mức cần phải tạo lại bảng". 

Ngoài ra, điều cũng đáng lưu ý ở đây là Microsoft sử dụng biểu tượng cảnh báo (warning) trên hộp thoại này nhưng lại không cho chúng ta lưu lại các thay đổi trên bảng. (Điều này có vẻ không hợp lý so với cách SSMS hành xử trước đây)

CÁCH GIẢI QUYẾT LỖI "SAVING CHANGES IS NOT PERMITTED" CỦA SQL SERVER

Ngoài cách thay đổi cấu trúc bảng hiện có 1 cách nguy hiểm là xoá bảng cũ rồi tạo lại bảng mới (theo cấu trúc mới) mà SSMS mặc định khước từ thì chúng ta cũng có thể sử dụng câu lệnh SQL quen thuộc là ALTER TABLE để thay đổi cấu trúc của bảng mà không phải xoá và tạo lại bảng. Cho nên cách giải quyết thứ nhất là chuyển sang sử dụng T-SQL để thay đổi cấu trúc bảng.
Trong tình huống chúng ta vẫn muốn SSMS thực hiện các thay đổi theo kiểu re-create tables thì có thể tắt tùy chọn "Prevent saving changes that require table re-creation" trong Menu Tools/Options của SSMS ở mục Designers như hình minh hoạ



Chúc các bạn kiểm soát tốt những quyết định thay đổi cấu trúc bảng quan trọng của mình.

Tham khảo: itstudent

Always start Visual Studio as an Administrator on Windows 8/8.1/10

Option 1 - Set VSLauncher.exe and DevEnv.exe to always run as admin

To have Visual Studio always run as admin when opening any .sln file:

  1. Navigate to C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe.
  2. Right-click on VSLauncher.exe and choose Troubleshoot compatibility.
  3. Choose Troubleshoot program.
  4. Check off The program requires additional permissions and hit Next.
  5. Click the Test the program... button to launch VS.
  6. Click Next, then hit Yes, save these settings for this program, and then the close buton.

To have Visual Studio always run as an admin when just opening visual studio directly, do the same thing to the DevEnv.exe file(s). These file are located at:

Visual Studio 2010

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe

Visual Studio 2012

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe

Visual Studio 2013

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe

Option 2 - Use VSCommands extension for Visual Studio

Install the free VSCommands extension for Visual Studio (it's in the Visual Studio Extensions Gallery) and then configure it to always have Visual Studio start with admin privileges by going to Tools -> VSCommands -> Options -> IDE Enhancements -> General and check off Always start Visual Studio with elevated permissions and click the Save button.

My Opinion

I prefer Option 2 because:

  • it also allows you to easily turn off this functionality.
  • VSCommands comes with lots of other great features so I always have it installed anyways.
  • it's just easier to do than option 1.

Không gõ được tiếng việt có dấu trong Visual Studio khi sử dụng Windows 64 bit

Gõ tiếng việt có dấu trong Visual Studio trên Win 64bit) -  Visual Studio là một công cụ mạnh để xây dựng các ứng dụng Windows, Web cũng như những ứng dụng trên thiết bị cầm tay (Pocket PC, SmartPhone…) Trong Visual Studio cho phép người lập trình có thể lựa chọn các ngôn ngữ phù hợp với mình để phát triển như: Visual Basic.NET (VB.NET), C# (C Sharp), Visual C++.NET và Visual J#.NET.

Một trong những công cụ quan trọng là Microsoft Visual Studio.NET Integrated Development Environment (IDE). IDE giúp việc lập trình Visual Basic.NET (VB.NET) dễ dàng, thoải mái và thích thú. IDE không những cung cấp mọi công cụ lập trình cần thiết không thể tìm thấy ở một ứng dụng (application), soạn nguồn mã thông thường bằng chữ (text editors) mà còn giúp kiểm tra nguồn mã (code checking) hay tạo giao diện Windows thích hợp và hiển thị, truy tìm các tập tin liên hệ đến dự án (project).



Tuy nhiên có một vấn đề mà rất nhiều lập trình viên gặp phải trong quá trình sử dụng Visual Studio trong Windows 64 bit đó là việc gõ tiếng việt có dấu. Khi cần ghi chú, đưa ra thông báo hoặc đặt tên cho Textbox, Button, Label thì không thể sử dụng được tiếng việt trong trường hợp sử dụng bộ gõ Unikey. Vậy làm cách nào để có thể đánh được tiếng việt trong trường hợp này? Hôm nay Kênh phần mềm việt xin giới thiệu với mọi người 1 giải pháp rất đơn giản để xử lý vấn đề này. Dưới đây là các bước thực hiện.

- B1: Mở Window Explorer
- B2: Truy cập đến file UniKey.exe


- B3: Chọn và kích chuột phải vào tên file, chọn Properties
- B4: Chọn Tab Compatibility



- B5: Tích chọn Run this program as an administrator
- B6: Kích nút OK

Sau khi thực hiện xong các bước ở trên, chạy Unikey và bây giờ bạn đã có thể thoải mái gõ tiếng việt có dấu trong Visual Studio rồi đó. 



Bạn có thể thực hiện nhanh việc này bằng cách, kích chuột phải vào file Unikey.exe, rồi chọn Run as administraor. Tuy nhiên cách thực hiện này chỉ có tác dụng đối với lần chạy đó thôi.

Chu trình sống của 1 trang aspx

Đây là chu trình sống của 1 trang thông thường khi sử dụng master page:

1. Page.OnPreInit
2. MasterPageControl.OnInit (for each control on the master page)
3. Control.OnInit (for each contol on the page)
4. MasterPage.OnInit
5. Page.OnInit
6. Page.OnInitComplete
7. Page.OnPreLoad
8. Page.OnLoad
9. MasterPage.OnLoad
10. MasterPageControl.OnLoad (for each control on the master page)
11. Control.OnLoad (for each contol on the page)
12. Page.OnXXX (control event)
13. MasterPage.OnBubbleEvent
14. Page.OnBubbleEvent
15. Page.OnLoadComplete
16. Page.OnPreRender
17. MasterPage.OnPreRender
18. MasterPageControl.OnPreRender (for each control on the master page)
19. Control.OnPreRender (for each contol on the page)
20. Page.OnPreRenderComplete
21. MasterPageControl.SaveControlState (for each control on the master page)
22. Control.SaveControlState (for each contol on the page)
23. Page.SaveViewState
24. Page.SavePageStateToPersistenceMedium
25. Page.OnSaveStateComplete
26. MasterPageControl.OnUnload (for each control on the master page)
27. Control.OnUnload (for each contol on the page)
28. MasterPage.OnUnload
29. Page.OnUnload

32 công cụ giúp coder làm nhanh giao diện ứng dụng Web

Bản thân lập trình viên ngoài việc giỏi code, còn phải có khả năng design có tính thẩm mĩ. không phải ai cũng dễ dàng có được hai đều này. Dưới đây là những công cụ được tạo ra để hổ trợ coder có thể làm ứng dụng web mà không đòi hỏi nhiểu khả năng design.

Bootstrap

---------------------------------------------------------------------------------------------------------------------------

Bootstrap (Newest : flat design)

http://getbootstrap.com/

Free Design Template

http://startbootstrap.com/ (Recommend)

http://www.templatemag.com/free-bootstrap-templates/

http://www.blacktie.co/

Còn nếu bạn chịu trả phí thì dùng

https://wrapbootstrap.com/

CSS animation

---------------------------------------------------------------------------------------------------------------------------

Animate.css (Recommend)

http://daneden.github.io/animate.css/

Rất nhẹ và rất dễ dùng!

Tạo logo

---------------------------------------------------------------------------------------------------------------------------

Squarespace (Recommend)

http://www.squarespace.com/logo#

LOGASTER

https://www.logaster.com/

Tạo các thành phần của HTML

---------------------------------------------------------------------------------------------------------------------------

coveloping (Recommend)

http://coveloping.com/

Tập hợp rất nhiều công cụ dùng để sinh ra các phần trong trang HTML như price page vân vân.

TeamPage.io

http://www.teampage.io/

Tạo team member page một cách rất đơn giản.

FRAME

http://frame.lab25.co.uk/

Sinh ra 1 top page na ná như trang đó.

UICloud

http://ui-cloud.com/

Trang chuyên dùng cho việc search tham khảo những thành phần của UI. (Category trong này gần như đầy đủ cho 1 template cơ bản)

Nén ảnh

---------------------------------------------------------------------------------------------------------------------------

Hai công cụ tuyệt vời sau đây có thể nén dung lượng ảnh còn gần một nửa mà hầu như không làm giảm chất lượng ảnh.

JPEGmini (Recommend)

http://www.jpegmini.com/

TinyPNG (Recommend)

https://tinypng.com/

Chỉnh sửa ảnh

---------------------------------------------------------------------------------------------------------------------------

GIMP

http://www.gimp.org/

SeaShore (Mac)

http://seashore.sourceforge.net/TheSeashoreProject/About.html

Đặt tên cho ứng dụng

---------------------------------------------------------------------------------------------------------------------------

Dislexicon: The English Language Extender

http://www.robobunny.com/cgi-bin/dislexicon

Công cụ đề xuất tên dịch vụ dựa vào keyword ta nhập vào, các đề xuất nghe rất hay và kêu.

Công cụ này có cả app Android, giúp chúng ta lưu tên mình thích để sau này dùng đến.

Web service naming idea tool

http://c.hrgrweb.com/naming/

Xuất ra tên dịch vụ bất kì dựa vào việc kết nối các đơn từ được lưu trong DB. Cách thức rất đơn giản nhưng lại khá tiện lợi.

Ảnh đẹp

---------------------------------------------------------------------------------------------------------------------------

Free high-resolution photos.10 new photos every 10 days.

https://unsplash.com/

Không có chức năng search, nhưng trên này toàn ảnh nét căng mà lại dùng free.

List photo on MEDIUM blog

https://medium.com/@dustin/stock-photos-that-dont-suck-62ae4bcbe01b

Video đẹp

---------------------------------------------------------------------------------------------------------------------------

Tổng hợp những video đẹp dùng làm background (dùng cho cá nhân cũng được)

http://mazwai.com/#index

Toàn là video nhìn rất cool.

jQuery plugin dành cho việc tạo video background

https://github.com/VodkaBears/Vide#readme Cách dùng siêu đơn giản.

Icon

---------------------------------------------------------------------------------------------------------------------------

ICONFINDER

https://www.iconfinder.com/

SNS avatar generator

---------------------------------------------------------------------------------------------------------------------------

uiFaces

http://uifaces.com/

Dùng trong trường hợp muốn tạo ra một loạt avatar dùng cho demo vân vân.

Có tích hợp cả API, rất đáng để dùng thử.

Đa ngôn ngữ

---------------------------------------------------------------------------------------------------------------------------

Wovn.io

http://wovn.io/

Biến tất cả các page thành đa ngôn ngữ bằng cách viết thêm đúng 1 dòng code! 

Chọn màu

---------------------------------------------------------------------------------------------------------------------------

Adobe Kuler (for pro use)

https://kuler.adobe.com/create/color-wheel/

HUE/360 (for simple use)

http://hue360.herokuapp.com/

Web Colour Data

http://webcolourdata.com/Tổng hợp color code của các Web service nổi tiếng.

Service introduction video

---------------------------------------------------------------------------------------------------------------------------

Wideo

http://www.wideo.co/

Công cụ có thể tạo ra những video giới thiệu dịch vụ không khác gì Power Point.

Social plugin

---------------------------------------------------------------------------------------------------------------------------

Công cụ tổng hợp nút liên kết với các mạng xã hội.

AddThis

http://www.addthis.com/

Ninja omatome button

http://www.ninja.co.jp/omatome/


Server

---------------------------------------------------------------------------------------------------------------------------

Heroku

https://www.heroku.com/

Một cloud server rất nổi tiếng có thể dùng miễn phí.

Cực kì thích hợp cho việc làm prototype.

New Relic (add-on for Heroku)

https://devcenter.heroku.com/articles/newrelic

Công cụ quản lí server đơn giản, miễn phí có thể add vào Heroku.

Dùng công cụ này có thể biết được cụ thể server đang chịu tải ra sao và có cả lỗi báo về.


Send mail

---------------------------------------------------------------------------------------------------------------------------

SendGrid

http://sendgrid.com/

Tiện lợi hơn khi dùng dưới dạng add-on cho Heroku.


HTML mail

---------------------------------------------------------------------------------------------------------------------------

BeeFree (Recommend)

http://web-cre.info/beefree/

Tạo mail HTML cực kì đơn giản bằng cách kéo thả, đã thế còn miễn phí!

Có sẵn template của các loại mail hay dùng nên ta chỉ cần chọn template, sửa sang một chút, sau khi export thì customize lại chút nữa là ổn.

Công cụ còn hỗ trợ việc gửi mail để test thử rất đơn giản.

MailChimp

http://mailchimp.com/

Công cụ thần thánh không những cho phép tạo HTML mail mà còn cho phép gửi một loạt mail theo lịch (step mail).

Zurb

http://zurb.com/ink/

Cung cấp template cho việc tạo responsive HTML mail một cách đơn giản.

Có document hướng dẫn cụ thể việc code cho từng phần như thế nào.

Antwort

http://internations.github.io/antwort/

Nếu muốn tạo mail HTML do tự mình customize thì tôi nghĩ đây là công cụ tiện lợi.


Favicon

---------------------------------------------------------------------------------------------------------------------------

Favicon Generator

http://favicon-generator.org/

Công cụ sinh ra file favicon.ico khi ta up ảnh lên.

Tinycon - js library có thể xuất ra alert number cho favicon

https://github.com/tommoor/tinycon

Một thư viện js nhỏ có khả năng xuất ra alert number cho favicon, ta chỉ cần viết thêm 1 dòng code.

Ngoài ra còn nhiều công cụ về Rails, Heroku hay API nữa như dưới đây.

Rails

---------------------------------------------------------------------------------------------------------------------------

Sign in, sign up management

Devise

https://github.com/plataformatec/devise

facebook

https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview


Xử lí không đồng bộ

---------------------------------------------------------------------------------------------------------------------------

Redis&Resque

https://devcenter.heroku.com/articles/queuing-ruby-resque


Heroku

---------------------------------------------------------------------------------------------------------------------------

Batch processing

Scheduler

https://addons.heroku.com/scheduler

Mail

---------------------------------------------------------------------------------------------------------------------------

MailChimp

https://devcenter.heroku.com/articles/mandrill

SendGrid

https://addons.heroku.com/sendgrid