ServiceStack OrmLite for Oracle hangs during select -
i trying servicestack ormlite (with oracle database). hangs @ db.select
.. not throwing exception either.. hangs there if there many data load.
i have installed latest oracle instant client ver 12.1 in pc.
this ormlite code:
namespace consoleapplication1 { class program { static void main(string[] args) { string dbconnection = "server=(description=(address=(protocol=tcp)(host=xxx.xxx.xxx.xxx)(port=9530))(connect_data=(service_name=mysid)));uid=myusername;pwd=mypassword"; var dbfactory = new ormliteconnectionfactory( dbconnection, false, oracledialect.provider); using (var db = dbfactory.open()) { var res = db.select<einduk>().take(10); //<-- hangs here, no stacktrace whatsoever foreach (var einduk in res) { console.writeline(einduk.tostring()); } } console.readline(); } } }
and model class:
namespace consoleapplication1 { public class einduk { [primarykey] public string akaun { get; set; } public string jenis { get; set; } public string bakaun { get; set; } public string oldac { get; set; } public string plgid { get; set; } public string pnama { get; set; } public string almat { get; set; } public string kslah { get; set; } public datetime? trikh { get; set; } public decimal? amaun { get; set; } public override string tostring() { return string.format("jenis: {0}, akaun: {1}, bakaun: {2}, oldac: {3}, plgid: {4}, pnama: {5}, almat: {6}, kslah: {7}, trikh: {8}, amaun: {9}", jenis, akaun, bakaun, oldac, plgid, pnama, almat, kslah, trikh, amaun); } } }
this table, note the table not have primary key. in model set akaun
primary key know unique. will cause problem?
create table "einduk" ( "jenis" char(1 byte), "akaun" varchar2(40 byte), "bakaun" varchar2(50 byte), "oldac" varchar2(20 byte), "plgid" varchar2(15 byte), "pnama" varchar2(100 byte), "almat" varchar2(282 byte), "kslah" varchar2(508 byte), "trikh" date, "amaun" number )
when select().take(10), trying load data in memory , try first 10 records (in-memory)list. instead using select without parameter, try
sqlexpressionvisitor<einduk> ev = ormliteconfig.dialectprovider.expressionvisitor<einduk>(); ev = ev.limit(0,10); var res = db.select<einduk>(ev);
in order understand features of ormlite, read readme.md file :
https://github.com/servicestack/servicestack.ormlite/blob/master/readme.md
Comments
Post a Comment