2012年9月13日 星期四

使用 ADO 透過 ODBC 連接至 SQLite,用 OpenSchema 取得 Table Name 會亂碼的解決方法

最近開始使用 SQLite 當作應用程式的本地資料儲存媒體,當然也想要針對 SQLite 資料庫做一些管理跟查詢工作。雖然網路上可以找到需付費或是不須付費的 SQLite 管理工具,但是還是想使用自製的 DB 工具來查詢資料。畢竟用慣了,哪裡用得不爽還可以自己改一改。

但是自製的 DB 工具使用的是 ADO 來連接資料庫,對於 SQLite 的免費連接方案只有 SQLite ODBC Driver

連接上是沒有問題,也可以正常的擷取資料,無亂碼
不過使用 OpenSchema 來取得資料庫中的 table,以及 table 中的欄位時,卻出現了亂碼

2012-09-13_085411

解決方法如下:
開啟 ODBC 設定,將「OEMCP Translation」打勾,就 OK 了

2012-09-13_085738

設定完成之後,就可以正確的抓到中文的 table name 跟 column name 了

2012-09-13_090117

2012年3月21日 星期三

ASP.Net 要透過加入 AD 的 ExchangeServer 發郵件的方法

1. 讓 ASP.Net 信任 ExchangeServer 的自訂憑證

在 Global.asax.cs 裡面的 Application_Start 事件加入以下這行:

  ServicePointManager.ServerCertificateValidationCallback += 
new RemoteCertificateValidationCallback(ValidateServerCertificate);

以及在 Global.asax.cs 加入這個靜態方法

  public static bool ValidateServerCertificate(Object sender, 
X509Certificate certificate, X509Chain chain,
SslPolicyErrors sslPolicyErrors)
{
  return true;
}

using 要加入

  using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;

2. 發郵件時程式

  SmtpClient sc = new SmtpClient();
sc.Credentials = CredentialCache.DefaultNetworkCredentials;
sc.EnableSsl = true;
sc.Send(mm); // mm 是 MailMessage

3. 在 web.config 中設定好

  <system.net>
    <mailSettings>
      <smtp from="寄信人信箱" deliveryMethod="Network">
        <network host="郵件主機"
                 port="埠號"
                 userName="登入帳號"
                 password="登入密碼"
                 defaultCredentials="true" />
      </smtp>
    </mailSettings>
  </system.net>

4. 將 IIS 的應用程式集區設定為「整合式」