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複製至執行目錄即可。
2015年1月8日 星期四
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();
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)
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。
一、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();
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")連線
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")連線
訂閱:
意見 (Atom)

