通过ODBC的方式连接,老是出现内存错误,无法解决。 w`XwW#!}@$
大家都是通过什么方式连接的呀,贴一下代码看看,我实在是没辙了,谢谢大家了 .N~qpynY
x)<5f|j
{#M=gDhbX
using (OdbcConnection odbcCon = new OdbcConnection(“DSN=Primavera SDK;UID=admin;PWD=admin”)) rN#ydw:9
{ kfb+OE:7
odbcCon.Open(); [;B_ENV
OdbcCommand oLogCmd = odbcCon.CreateCommand(); Re?sopg0r
oLogCmd.CommandText = querrySql; .K^'Q|?
A?Jm59{w
OdbcDataReader reader = oLogCmd.ExecuteReader(); 'qLk"
5n;|K]UW
DataTable table = new DataTable(); 6$wS7Cu
int fieldCount = reader.FieldCount; M%4o0k]E,s
for (int i = 0; i < fieldCount; i++) W.p->,N
{ %z!
w-u+
table.Columns.Add(reader.GetName(i), reader.GetFieldType(i)); s<0yQ-=.?N
} 1DcYc-k#
table.BeginLoadData(); jM
J[6qj
object[] values = new object[fieldCount]; MnFem $ @
while (reader.Read()) q p|T,D%
{ Y">tfLIL_
reader.GetValues(values); D+rDgr
v
table.LoadDataRow(values, true); t&SJ!>7_c
} sAk~`(:4!
table.EndLoadData(); dv4)fG]W;_
DataSet ds = new DataSet(); Szi4M&!K
ds.Tables.Add(table);
3@$h/xMJ
reader = null; $Z
10Zf=
oLogCmd = null; fh$U"
odbcCon.Close(); ^w2n
return ds; ?>q=Nf^ Q.
9 N=KU
} : ` F>B
此外 这种连接方式 还会莫名其妙的在创建连接的时候出错 出错内容如下 fFXs:(
ERROR [HZ080] [ATI][OpenRDA ODBC]RDA error: Resource not available - Connect error: da=PMSDK;Driver=PMSDK;engine=PM;lf=C:\temp\PMSDK.LOG;lo=verbose;pg=1;pp=pubuser;pu=pubuser;. ~'fa,XZ<
Error returned from engine: VDB.Connect; EAccessViolation=Access violation at address 101C120E in module 'PMSDK.dll'. Read of address 00000020 _' n;rZ +
Error number: 0x80004005 O,qR$#l
ERROR [01000] [Microsoft][ODBC 驱动程序管理器] 驱动程序不支持这个应用程序请求的 ODBC 行为的版本 (参见 SQLSetEnvAttr)。