顯示具有 C Language 標籤的文章。 顯示所有文章
顯示具有 C Language 標籤的文章。 顯示所有文章

2016年2月18日 星期四

Linux 透過FreeTDS連接MSSQL (一) 安裝與設定



當Linux工作者遭遇到了MSSQL, 真是一件很麻煩的事情, 想不到我真的遇到了這件事情
再來會紀錄一下使用方法

安裝
  •  FreeTDS

    官網 : http://www.freetds.org/
    github : https://github.com/FreeTDS/freetds

    預設會安裝於 /usr/local/bin ,  /usr/local/etc
  •  unixODBC

    官網 : http://www.unixodbc.org/
    採用 yum 安裝
    yum install unixodbc
設定
  • FreeTDS

    設定檔 : /usr/local/etc/freetds.conf 或 $(HOME)/.freetds.conf
    http://www.freetds.org/userguide/freetdsconf.htm

    假設我要連到某一台SQL Server, 就得加上以下設定

    [TDSNAME]
    host = [server host]
    port = 1433
    tds version = 7.0
    client charset = UTF-8
  • unixODBC

    設定擋 : /etc/odbcinst.conf
    [FreeTDS]
    Description = FreeTDS Driver
    Driver = /usr/local/lib/libtdsodbc.so

    設定擋 : /etc/odbc.ini 或 $(HOME)/.odbc.ini
    [SERVERNAME]
    Driver=FreeTDS
    Servername=TDSNAME
    Port = 1433
    Database=DBInstance
    TDS_Version = 7.0

設定好後可以用以下語法測試
  • FreeTDS
    tsql -S TDSNAME -U ID -P PASSWORD
  • unixODBC
    isql -v SERVERNAME ID PASSWORD



©Yichen

2009年11月29日 星期日

[C語言] 如何計算某一段程式碼執行時間

在Unix-like中,我們可以用 time [option] command 這種方法來計算出command執行所花費的時間,不過若是該command是一個daemon process, 我們一般來說 都只會監看log,此時若要知道某一段程式碼執行花費了多少時間, 當然我們可以用gettimeofday以及localtime_r來取得詳細的日期與時間來進行相減的動作, 不過若是單純只想計算時間,這邊提供clock function來做更加的方便, 下方是使用的Sample Code

#include <stdio.h>
#include <time.h>


/* This sample will display how to calculate the program execution time */

int plus(int iEnd)
{
int i = 0;
while(i < iEnd)
i++;

return i;
}

int main(int argc, char *argv[])
{
clock_t start_time, end_time;
float total_time = 0;
int iNum = 0;
if (argc < 2)
{
printf("Usage : %s Num\n", argv[0]);
return -1;
}

start_time = clock(); /* mircosecond */
iNum = plus(atoi(argv[1]));
end_time = clock();

/* CLOCKS_PER_SEC is defined at time.h */
total_time = (float)(end_time - start_time)/CLOCKS_PER_SEC;

printf("Time : %f sec \n", total_time);

return 0;
}