通过ODBC的方式连接,老是出现内存错误,无法解决。 `Oi#`lC\
大家都是通过什么方式连接的呀,贴一下代码看看,我实在是没辙了,谢谢大家了 XXhN;-p
y 3o3 G
c|`$
h
using (OdbcConnection odbcCon = new OdbcConnection(“DSN=Primavera SDK;UID=admin;PWD=admin”)) ,~&HL7v
{ a;^lOU|L{
odbcCon.Open(); $i6z)]rjg
OdbcCommand oLogCmd = odbcCon.CreateCommand(); Z~QLjv&$/r
oLogCmd.CommandText = querrySql; +&S6se4
L@/IyQ[H1
OdbcDataReader reader = oLogCmd.ExecuteReader(); QRK\74'uY
5O d]rE
DataTable table = new DataTable(); jwAYlnQ^EM
int fieldCount = reader.FieldCount; a*LfT<hmU3
for (int i = 0; i < fieldCount; i++) NN=^4Xpc:
{ 9]w?mHslE
table.Columns.Add(reader.GetName(i), reader.GetFieldType(i)); [:#K_EI5%
} _K!.TM+9
table.BeginLoadData(); 5qW>#pTFVV
object[] values = new object[fieldCount]; r~h#
while (reader.Read()) +)WU:aKI
{ _fu <`|kc
reader.GetValues(values); !rr,(!Ip?O
table.LoadDataRow(values, true); qD ?`Yd
} N'9T*&o+
table.EndLoadData(); aK
-x{
DataSet ds = new DataSet(); wB[f%mHs
ds.Tables.Add(table); o.A:29KoU
reader = null; V0_tk"
oLogCmd = null; irD5;xk([
odbcCon.Close();
>~rlnRX
return ds; &xN+a{&
\q1tT!]
} *0^~@
U
此外 这种连接方式 还会莫名其妙的在创建连接的时候出错 出错内容如下 bA#9'Qu^j
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;. "W%YsN0
Error returned from engine: VDB.Connect; EAccessViolation=Access violation at address 101C120E in module 'PMSDK.dll'. Read of address 00000020 -Q@f),
Error number: 0x80004005 yiC7)=
ERROR [01000] [Microsoft][ODBC 驱动程序管理器] 驱动程序不支持这个应用程序请求的 ODBC 行为的版本 (参见 SQLSetEnvAttr)。