通过ODBC的方式连接,老是出现内存错误,无法解决。 <B+xE?v4
大家都是通过什么方式连接的呀,贴一下代码看看,我实在是没辙了,谢谢大家了 3Ryae/Nk
Ptj,9bf<\
hxt,%al
using (OdbcConnection odbcCon = new OdbcConnection(“DSN=Primavera SDK;UID=admin;PWD=admin”)) Cf~H9
{ )/32sz]~
odbcCon.Open(); *hm;C+<~
OdbcCommand oLogCmd = odbcCon.CreateCommand(); Mk:k0,z
oLogCmd.CommandText = querrySql; 5eP0W#
TbK;_
pg
OdbcDataReader reader = oLogCmd.ExecuteReader(); JP
sR7f
y2_^lW%
DataTable table = new DataTable(); V~9vf*X
int fieldCount = reader.FieldCount; }]fJ[KbDp
for (int i = 0; i < fieldCount; i++) -Hx._I$l
{ ,JLY
oE+
table.Columns.Add(reader.GetName(i), reader.GetFieldType(i)); bVLuv`A/
} bwr}Ge
table.BeginLoadData(); G$P|F6
object[] values = new object[fieldCount]; 2r0u[
while (reader.Read()) #3+-vyZm
{ &efwfnG<
reader.GetValues(values); =Wgz\uGJ
table.LoadDataRow(values, true); y*f5_
} ]<
Ugg
table.EndLoadData(); o<pb!]1
DataSet ds = new DataSet(); $L@os2
ds.Tables.Add(table); kS\A_"bc
reader = null; Os9;;^k
oLogCmd = null; g_T[m*
odbcCon.Close(); ;$0)k(c9
return ds; =}8:zO
2'{
G"xa"hGF
} _@U11|
此外 这种连接方式 还会莫名其妙的在创建连接的时候出错 出错内容如下 L#\!0YW/@
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;. DbL=2
Error returned from engine: VDB.Connect; EAccessViolation=Access violation at address 101C120E in module 'PMSDK.dll'. Read of address 00000020 V~9s+>
Error number: 0x80004005 !_ng_,J
ERROR [01000] [Microsoft][ODBC 驱动程序管理器] 驱动程序不支持这个应用程序请求的 ODBC 行为的版本 (参见 SQLSetEnvAttr)。