顯示具有 Sybase 標籤的文章。 顯示所有文章
顯示具有 Sybase 標籤的文章。 顯示所有文章

2015年1月8日 星期四

C# 使用ADO.NET連Sybase時發生Unable to load DLL 'sybdrvado11.dll'

C# 使用ADO.NET連Sybase時發生Unable to load DLL 'sybdrvado11.dll'錯誤。

雖然程式執行目錄中有下列三個DLL:
Sybase.Data.AseClient.dll
sybdrvado11.dll
sybdrvssl.dll

會出現 Unable to load DLL 'sybdrvado11.dll'錯誤,可能是主機遺失msvcp71.dll、msvcr71.dll兩個檔案(C runtime),所以只要將這兩個DLL複製至執行目錄即可。

2012年1月18日 星期三

C# sybase資料庫交易

C# sybase資料庫交易的寫法如下:
using Sybase.Data.AseClient;


AseConnection aseCon;
AseCommand dcom;

aseCon = new AseConnection(
"DataSource=127.0.0.1;Port=5000;Database=資料庫;UID=帳號;PWD=密碼;charset=utf8");
aseCon.Open();
//開啟資料庫交易
AseTransaction aseTransaction = aseCon.BeginTransaction();
dcom = new AseCommand();
dcom.Connection = aseCon;
dcom.Transaction = aseTransaction;

try
{
    //insert bank

   dcom.CommandText = "INSERT INTO bank1 VALUES('5555555', 0)";
   dcom.ExecuteNonQuery();
   dcom.CommandText = "INSERT INTO bank2 VALUES('5555555', 0)";
   dcom.ExecuteNonQuery();

    //執行成功時Commit
    aseTransaction.Commit();
}
catch (Exception err)
{
   //執行失敗時Rollback
   aseTransaction.Rollback();
   MessageBox.Show(err.Message);
}
aseCon.Close();

2011年9月21日 星期三

windows環境下sybase client字元集設定

windows上php連sybase會出現亂碼時,可依下列說明修改sybase client字元集。

1. 開啟SYBASE的安裝目錄的locales目錄中的locales.dat (C:\sybase\locales\locales.dat)
2. 依下列說明修改


[NT]
locale = enu, us_english, iso_1
locale = fra, french, iso_1
locale = deu, german, iso_1
locale = rus, russian, cp1251
locale = hun, us_english, cp1250
locale = ell, us_english, cp1253
locale = heb, us_english, cp1255
locale = ara, us_english, cp1256
locale = trk, us_english, cp1254
locale = esp, spanish, iso_1
locale = jpn, japanese, sjis
locale = japanese, japanese, sjis
locale = chs, chinese, eucgb
locale = cht, tchinese, big5
; locale = kor, korean, eucksc
locale = us_english.utf8, us_english, utf8
locale = default, us_english, iso_1(可改成utf8或其它,如:locale = default, us_english, utf8)

2011年3月1日 星期二

C# 連Sybase設定

C#連Sybase的方法:(目前只用過ADO.NET)
一、ADO.NET(用Sybase.Data.AseClient 連接)
1. 須先安裝sybase open client軟體(執行端也須安裝),安裝時請加選ADO.NET。

2. 至C:\sybase\ADO.NET\dll目錄中把Sybase.Data.AseClient.dll    sybdrvado11.dll sybdrvssl.dll三個文件Copy到bin資料夾中,並在參考中加入Sybase.Data.AseClient.dll 。

3. 使用範例
using Sybase.Data.AseClient;

AseConnection aseCon ;
aseCon = new AseConnection("DataSource=127.0.0.1;Port=5000;Database=資料庫;UID=帳號;PWD=密碼;charset=utf8");
aseCon.Open();
AseCommand dcom = new AseCommand("SELECT name FROM student", aseCon);
AseDataReader dr = dcom.ExecuteReader();
dr.Read();
Console.WriteLine("name : " + dr[0].ToString());
dr.Close();
aseCon.Close();

2010年12月15日 星期三

Ubuntu php用freetds連sybase

1. 先安裝php5-sybase
    sudo apt-get install php5-sybase


2. 設定freetds.conf

    sudo vim /etc/freetds/freetds.conf
    修改(增加)以下內容

    [global]
            client charset = UTF-8
            charset = utf8
    [sybase_db]
            host = sybase host
            port = 5000
            tds version = 5.0
3.於php中,以sybase_connect("sybase_db","user","pass")連線