通过ODBC的方式连接,老是出现内存错误,无法解决。 mOGcv_L
大家都是通过什么方式连接的呀,贴一下代码看看,我实在是没辙了,谢谢大家了 :E4i@ O7%
e#FaK^V
,6i67!lb
using (OdbcConnection odbcCon = new OdbcConnection(“DSN=Primavera SDK;UID=admin;PWD=admin”)) ;op+~@*!
{ `5[VO
odbcCon.Open(); #(ANyU(#e
OdbcCommand oLogCmd = odbcCon.CreateCommand(); pR`.8MMc8
oLogCmd.CommandText = querrySql; ?v8RY,Q30
Ug3PZ7lK
OdbcDataReader reader = oLogCmd.ExecuteReader(); ;P5\EJo
_P,fJ`w
DataTable table = new DataTable(); VIAj]Ul
int fieldCount = reader.FieldCount; H'?Bx>X
for (int i = 0; i < fieldCount; i++) cg1 <
{
EvTdwX.H
table.Columns.Add(reader.GetName(i), reader.GetFieldType(i)); i1FFf[[ L
} r{>tTJFD(:
table.BeginLoadData(); JS({au
object[] values = new object[fieldCount]; /~J#c=
while (reader.Read()) %J~8a _vO
{ A ;Z%-x
reader.GetValues(values); v SHb\V#
table.LoadDataRow(values, true); S U2`H7C*
} /A|ofAr)
table.EndLoadData(); @_1$
<8
DataSet ds = new DataSet(); kW6}57iV
ds.Tables.Add(table); si3i#l&.b_
reader = null; =J0FT2 d
oLogCmd = null; WAqR70{KM
odbcCon.Close(); @hl5^d"l
return ds; p_B,7@Jl
;[gv-H
}
Gp@Y=mU
此外 这种连接方式 还会莫名其妙的在创建连接的时候出错 出错内容如下 uDH)0#
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;. (;~[}"
Error returned from engine: VDB.Connect; EAccessViolation=Access violation at address 101C120E in module 'PMSDK.dll'. Read of address 00000020 |
2p\M?@
Error number: 0x80004005 P1Re7/
ERROR [01000] [Microsoft][ODBC 驱动程序管理器] 驱动程序不支持这个应用程序请求的 ODBC 行为的版本 (参见 SQLSetEnvAttr)。