iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
0
Microsoft Azure

Python X 金融分析 X Azure系列 第 12

【Day12】Azure資料庫#4:修改資料庫定序

  • 分享至 

  • xImage
  •  

已經可以順利使用ODBC連線到Azure的SQL server囉!剩下就把我們眾多資料匯入吧!
(此篇會參考:【Day9】Azure資料庫#1:功能介紹與建立資料庫


匯入之前思考

我們昨天有試著把在Stock中欄位印出來,但是StockName出來的卻是???,裡面的台積電一個字都沒出現,到底怎麼回事呢?

看到資料庫顯示為???沒有正常顯示,這時猜想,應該就是編碼問題。

https://ithelp.ithome.com.tw/upload/images/20200920/20103826C2AeyAVbWo.png

欄位使用NVARCHAR

檢查我們的StockName,格式為VARCHAR(50),看起來正常,怎麼會錯?

https://ithelp.ithome.com.tw/upload/images/20200920/20103826DfRQBxeq5u.png

突然想到,在MySQL中VARCHAR可以表示UTF格式,但是SQL Server卻不行,必須轉成NVARCHAR才能儲存UTF-8。所以我們需要轉換StockName的格式:

ALTER TABLE Stock
ALTER COLUMN StockName NVARCHAR(50);

資料庫修改定序

修改資料後,怎麼還是一樣???,原來是資料庫的編碼不同,只好修改編碼:

ALTER DATABASE finance COLLATE Chinese_Taiwan_Stroke_CS_AS;

結果發現有錯誤:

The database could not be exclusively locked to perform the operation.

ALTER DATABASE failed. The default collation of database 'finance' cannot be set to Chinese_Taiwan_Stroke_CS_AS.

看了文件才知道,這一開始必須設定好,之後無法改了/images/emoticon/emoticon02.gif,只好重新建立我們的Database了!

重新安裝SQL server in Azure

參考這篇【Day9】Azure資料庫#1:功能介紹與建立資料庫,然後在編碼的時候修改成

Chinese_Taiwan_Stroke_CS_AS;

https://ithelp.ithome.com.tw/upload/images/20200920/20103826cji2Alw2n5.png

建立完畢,就重新輸入我們的2330台積電,看看是不是可以顯示,看來顯示沒有問題,表示我們完成囉!

https://ithelp.ithome.com.tw/upload/images/20200920/20103826Fu9rhkI99j.png


後記

這篇稍微短一點,因為後面進入資料庫的部分,尚未研究完畢,因此部分交給明天的文章完成。
請期待明日!


上一篇
【Day11】Azure資料庫#3:Python連線到Azure
下一篇
【Day13】Azure資料庫#5:匯入資料
系列文
Python X 金融分析 X Azure31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言