2011年11月24日 星期四

SQL Server DB restore error - 請使用 WITH MOVE 來識別該檔案的有效位置

主要的錯誤訊息應該是這個
檔案 'FrankieDB' 無法還原到 'c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS_BIN\MSSQL\DATA\FrankieDB.mdf'。請使用 WITH MOVE 來識別該檔案的有效位置。
訊息 3119,層級 16,狀態 1,行 1 

記得在 SQL Server 2000 的時候,
用 Enterprise Manager 來 Restore 的時候有地方可以改丫!



2011年11月18日 星期五

SQL Datetime Convert Varchar

每次要用的時候都要找,所以乾脆記下來好了!


其實我只要
YYYY-MM-DD (2008-06-26):
CONVERT(CHAR(10), GETDATE(), 120)
或是
MM/DD/YYYY (06/26/2008):
CONVERT(CHAR(10), GETDATE(), 101)
這個可能也用的到
YYYYMMDD (20110314):
CONVERT(CHAR(8), GETDATE(), 112)


參考網址:SQL 日期時間轉換 (Convert Date Time to string)

2011年11月4日 星期五

Microsoft.Jet.OLEDB.4.0提供者並未登錄於本機電腦上

今天要用 C# 透過 OLEDB 開啟 Excel 檔案讀取資料,
上網查了一下連接字串大概是這樣寫的
【Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\test.xls;Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"】



這一篇對於連接字串的說明說的比較詳細【透過 OleDb 精準讀入 Excel 檔的方法



所以我就依樣畫葫蘆建立一個 OleDbConnection 的變數開始連接 Excel 吧!
程式如下:


            string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0;HDR={1};IMEX=1\"";


            connString = string.Format(connString, fileName, hasHeader ? "Yes" : "No");
            OleDbConnection conn = new OleDbConnection(connString);
            conn.Open();




原本以為這樣就結束了,沒想到卻出現了下面這個錯誤訊息!