gpt4 book ai didi

delphi - 将 Delphi XE2 ADO 组件与 SQLOLEDB.1 提供程序一起使用是否存在已知问题?

转载 作者:行者123 更新时间:2023-12-02 03:22:23 26 4
gpt4 key购买 nike

我正在尝试解决我的应用程序新版本的问题。症状是,当尝试使用 TADOQuery.ExecSQL 更新 SQL 表中的行时,应用程序在 SQLOLEDB.dll 中遇到访问冲突异常。

我无法在我的开发环境中重现该问题,我的组织的 QA 团队也无法重现该问题。不过,我们的用户一直在努力应对。

此问题版本与其前一个版本之间的两个重大变化是:1) 我们从 Delphi 2006 迁移到 DXE2,2) 我们从 XPSP3 切换到 Win7SP1 作为构建环境。用户仍然使用 XPSP3,处于相当严格控制的变更管理制度中。

编辑添加:madExcept错误报告

date/time         : 2012-06-27, 08:24:18, 775ms
computer name :
user name :
registered owner :
operating system : Windows XP Service Pack 3 build 2600
system language : English
system up time : 48 minutes 7 seconds
program up time : 7 minutes 48 seconds
processors : 2x Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
physical memory : 854/2030 MB (free/total)
free disk space : (C:) 47.30 GB
display mode : 1024x768, 32 bit
process id : $3d4
allocated memory : 14.44 MB
command line :
executable : xxxxxxxxxxxxxxxxx.exe
exec. date/time : 2012-06-15 11:39
version : 3.5.0.24
compiled with : Delphi XE2
madExcept version : 3.0n
contact name :
contact email :
callstack crc : $4dd03195, $4d9f14cf, $4d9f14cf
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 4DD03195 in module 'sqloledb.dll'. Read of address 03217000.

main thread ($938):
4dd03195 +000 sqloledb.dll
007e71d9 +091 xxxxxxxxxxxxxxxxx.exe Data.Win.ADODB TADOCommand.Execute
007f08a5 +03d xxxxxxxxxxxxxxxxx.exe Data.Win.ADODB TADOQuery.ExecSQL
00825f6a +5fa xxxxxxxxxxxxxxxxx.exe uauthorization 1528 +74 TAuthorization.SynchAuthToSQL
00822fd7 +d43 xxxxxxxxxxxxxxxxx.exe uauthorization 1228 +148 TAuthorization.Save
00b656a2 +15a xxxxxxxxxxxxxxxxx.exe form 1489 +33 TfrmMain.CreateOrEditAuthorization
00b6600f +02b xxxxxxxxxxxxxxxxx.exe form 1641 +2 TfrmMain.actEditAuthorizationExecute
0048834f +00f xxxxxxxxxxxxxxxxx.exe System.Classes TBasicAction.Execute
004f4441 +031 xxxxxxxxxxxxxxxxx.exe Vcl.ActnList TContainedAction.Execute
004f522c +050 xxxxxxxxxxxxxxxxx.exe Vcl.ActnList TCustomAction.Execute
00488213 +013 xxxxxxxxxxxxxxxxx.exe System.Classes TBasicActionLink.Execute
00508a00 +058 xxxxxxxxxxxxxxxxx.exe Vcl.Controls TControl.Click
006dbd31 +051 xxxxxxxxxxxxxxxxx.exe AdvGlowButton 3040 +9 TAdvCustomGlowButton.Click
00508ec1 +065 xxxxxxxxxxxxxxxxx.exe Vcl.Controls TControl.WMLButtonUp
006dca97 +397 xxxxxxxxxxxxxxxxx.exe AdvGlowButton 3508 +126 TAdvCustomGlowButton.WMLButtonUp
005084bc +2d4 xxxxxxxxxxxxxxxxx.exe Vcl.Controls TControl.WndProc
0050ce07 +5b3 xxxxxxxxxxxxxxxxx.exe Vcl.Controls TWinControl.WndProc
0050c45c +02c xxxxxxxxxxxxxxxxx.exe Vcl.Controls TWinControl.MainWndProc
00489044 +014 xxxxxxxxxxxxxxxxx.exe System.Classes StdWndProc
7e418a0b +00a USER32.dll DispatchMessageW
005eb023 +0f3 xxxxxxxxxxxxxxxxx.exe Vcl.Forms TApplication.ProcessMessage
005eb066 +00a xxxxxxxxxxxxxxxxx.exe Vcl.Forms TApplication.HandleMessage
005eb399 +0c9 xxxxxxxxxxxxxxxxx.exe Vcl.Forms TApplication.Run
00b84f68 +0ac xxxxxxxxxxxxxxxxx.exe xxxxxxxxxxxxxxxxx 64 +8 initialization

thread $1054:
7c90daa8 +0a ntdll.dll NtReplyWaitReceivePortEx
004bc199 +0d xxxxxxxxxxxxxxxxx.exe madExcept CallThreadProcSafe
004bc203 +37 xxxxxxxxxxxxxxxxx.exe madExcept ThreadExceptFrame
>> created by main thread ($938) at:
77e7d10d +00 RPCRT4.dll

thread $1028:
7c90df48 +00a ntdll.dll NtWaitForMultipleObjects004bc199 +00d xxxxxxxxxxxxxxxxx.exe madExcept CallThreadProcSafe
004bc203 +037 xxxxxxxxxxxxxxxxx.exe madExcept ThreadExceptFrame
>> created by main thread ($938) at:
5b891d46 +1f1 NETAPI32.dll Netbios

thread $1058:
7c90df58 +0a ntdll.dll NtWaitForSingleObject
7c8025d5 +85 kernel32.dll WaitForSingleObjectEx
7c80253d +0d kernel32.dll WaitForSingleObject
004bc199 +0d xxxxxxxxxxxxxxxxx.exe madExcept CallThreadProcSafe
004bc203 +37 xxxxxxxxxxxxxxxxx.exe madExcept ThreadExceptFrame
>> created by main thread ($938) at:
76663fb6 +00 comsvcs.dll

thread $1384:
7c90daa8 +0a ntdll.dll NtReplyWaitReceivePortEx
004bc199 +0d xxxxxxxxxxxxxxxxx.exe madExcept CallThreadProcSafe
004bc203 +37 xxxxxxxxxxxxxxxxx.exe madExcept ThreadExceptFrame
>> created by thread $1054 at:
77e7d10d +00 RPCRT4.dll

modules:
00400000 xxxxxxxxxxxxxxxxx.exe 3.5.0.24 \\xxxxxxxxxxx\xxxxxxxx\xxxx
02bd0000 msadcer.dll 2.81.1132.0 C:\Program Files\Common Files\System\msadc
02ee0000 SQLOLEDB.RLL 2000.85.1132.0 C:\Program Files\Common Files\System\Ole DB
03340000 xpsp2res.dll 5.1.2600.5512 C:\WINDOWS\system32
10000000 sxwmon32.dll 4.4.1401.0 C:\WINDOWS\system32
4dd00000 sqloledb.dll 2000.85.1132.0 C:\Program Files\Common Files\System\Ole DB
4de10000 msado15.dll 2.81.3012.0 C:\Program Files\Common Files\System\ado
4ec50000 gdiplus.dll 5.2.6002.22791 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.6002.22791_x-ww_c8dff154
5ad70000 uxtheme.dll 6.0.2900.5512 C:\WINDOWS\system32
5b860000 NETAPI32.dll 5.1.2600.5694 C:\WINDOWS\system32
5edd0000 olepro32.dll 5.1.2600.5512 C:\WINDOWS\system32
605d0000 mslbui.dll 5.1.2600.5512 C:\WINDOWS\system32
60e30000 MSDATL3.dll 2.81.1132.0 C:\Program Files\Common Files\System\Ole DB
61880000 oleacc.dll 7.0.2600.6153 C:\WINDOWS\system32
662b0000 hnetcfg.dll 5.1.2600.5512 C:\WINDOWS\system32
68000000 rsaenh.dll 5.1.2600.5507 C:\WINDOWS\system32
68100000 dssenh.dll 5.1.2600.5507 C:\WINDOWS\system32
6d4f0000 DBNETLIB.DLL 2000.85.1132.0 C:\WINDOWS\system32
71a50000 mswsock.dll 5.1.2600.5625 C:\WINDOWS\System32
71a90000 wshtcpip.dll 5.1.2600.5512 C:\WINDOWS\System32
71aa0000 WS2HELP.dll 5.1.2600.5512 C:\WINDOWS\system32
71ab0000 WS2_32.dll 5.1.2600.5512 C:\WINDOWS\system32
71ad0000 wsock32.dll 5.1.2600.5512 C:\WINDOWS\system32
71f80000 security.dll 5.1.2600.5512 C:\WINDOWS\system32
73000000 winspool.drv 5.1.2600.5512 C:\WINDOWS\system32
73160000 oledb32.dll 2.81.1132.0 C:\Program Files\Common Files\System\Ole DB
73bc0000 dciman32.dll 5.1.2600.5512 C:\WINDOWS\system32
74060000 msadce.dll 2.81.3002.0 C:\Program Files\Common Files\System\msadc
74720000 MSCTF.dll 5.1.2600.5512 C:\WINDOWS\system32
74e30000 RICHED20.DLL 5.30.23.1230 C:\WINDOWS\system32
750b0000 RESUTILS.DLL 5.1.2600.5512 C:\WINDOWS\system32
750f0000 MTXCLU.DLL 2001.12.4414.706 C:\WINDOWS\system32
75130000 colbact.DLL 2001.12.4414.700 C:\WINDOWS\system32
75350000 OLEDB32R.DLL 2.81.1132.0 C:\Program Files\Common Files\System\Ole DB
755c0000 msctfime.ime 5.1.2600.5512 C:\WINDOWS\system32
76360000 WINSTA.dll 5.1.2600.5512 C:\WINDOWS\system32
76380000 msimg32.dll 5.1.2600.5512 C:\WINDOWS\system32
76390000 IMM32.DLL 5.1.2600.5512 C:\WINDOWS\system32
763b0000 comdlg32.dll 6.0.2900.5512 C:\WINDOWS\system32
765b0000 MSDART.DLL 2.81.1132.0 C:\WINDOWS\system32
76620000 comsvcs.dll 2001.12.4414.702 C:\WINDOWS\system32
76790000 cryptdll.dll 5.1.2600.5512 C:\WINDOWS\system32
767a0000 ntdsapi.dll 5.1.2600.5512 C:\WINDOWS\system32
767f0000 schannel.dll 5.1.2600.6175 C:\WINDOWS\system32
769c0000 USERENV.dll 5.1.2600.5512 C:\WINDOWS\system32
76b40000 winmm.dll 5.1.2600.6160 C:\WINDOWS\system32
76d10000 CLUSAPI.DLL 5.1.2600.5512 C:\WINDOWS\system32
76d60000 iphlpapi.dll 5.1.2600.5512 C:\WINDOWS\system32
76f20000 DNSAPI.dll 5.1.2600.6089 C:\WINDOWS\system32
76f50000 wtsapi32.dll 5.1.2600.5512 C:\WINDOWS\system32
76f60000 WLDAP32.dll 5.1.2600.5512 C:\WINDOWS\system32
76fb0000 winrnr.dll 5.1.2600.5512 C:\WINDOWS\System32
76fc0000 rasadhlp.dll 5.1.2600.5512 C:\WINDOWS\system32
76fd0000 CLBCATQ.DLL 2001.12.4414.700 C:\WINDOWS\system32
77050000 COMRes.dll 2001.12.4414.700 C:\WINDOWS\system32
77120000 oleaut32.dll 5.1.2600.6058 C:\WINDOWS\system32
773d0000 comctl32.dll 6.0.2900.6028 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202
774e0000 ole32.dll 5.1.2600.6168 C:\WINDOWS\system32
77a80000 crypt32.dll 5.131.2600.6149 C:\WINDOWS\system32
77b20000 MSASN1.dll 5.1.2600.5875 C:\WINDOWS\system32
77c00000 version.dll 5.1.2600.5512 C:\WINDOWS\system32
77c10000 msvcrt.dll 7.0.2600.5512 C:\WINDOWS\system32
77c70000 msv1_0.dll 5.1.2600.5876 C:\WINDOWS\system32
77dd0000 ADVAPI32.dll 5.1.2600.5755 C:\WINDOWS\system32
77e70000 RPCRT4.dll 5.1.2600.6022 C:\WINDOWS\system32
77f10000 GDI32.dll 5.1.2600.5698 C:\WINDOWS\system32
77f60000 SHLWAPI.dll 6.0.2900.5912 C:\WINDOWS\system32
77fe0000 Secur32.dll 5.1.2600.5834 C:\WINDOWS\system32
7c800000 kernel32.dll 5.1.2600.5781 C:\WINDOWS\system32
7c900000 ntdll.dll 5.1.2600.6055 C:\WINDOWS\system32
7c9c0000 shell32.dll 6.0.2900.6072 C:\WINDOWS\system32
7e410000 USER32.dll 5.1.2600.5512 C:\WINDOWS\system32

processes:
0000 Idle 0 0
0004 System 0 0
07dc smss.exe 0 0
0284 csrss.exe 0 0
0320 winlogon.exe 0 0
0368 services.exe 0 0
0374 lsass.exe 0 0
0440 ati2evxx.exe 0 0
0450 svchost.exe 0 0
04ac svchost.exe 0 0
0550 svchost.exe 0 0
05ac svchost.exe 0 0
064c svchost.exe 0 0
0674 DVService.exe 0 0
06d8 spoolsv.exe 0 0
0758 ac.sharedstore.exe 0 0
0770 scardsvr.exe 0 0
0118 BESClient.exe 0 0
023c BESClientHelper.exe 0 0
02d8 FireSvc.exe 0 0
02ec PMService.exe 0 0
0310 HIPSvc.exe 0 0
03b4 EngineServer.exe 0 0
04c0 FrameworkService.exe 0 0
05c0 VsTskMgr.exe 0 0
0614 mdm.exe 0 0
06b0 mfevtps.exe 0 0
07ac NwmSvc.exe 0 0
00f8 scomc.exe 0 0
01b0 Svchost32.exe 0 0
0224 naPrdMgr.exe 0 0
0288 uphclean.exe 0 0
0294 VergenceLocator.exe 0 0
0538 WakeUpAgt.exe 0 0
0814 Mcshield.exe 0 0
095c CcmExec.exe 0 0
097c mfeann.exe 0 0
0984 alg.exe 0 0
0be0 wmiprvse.exe 0 0
0db0 wmiprvse.exe 0 0
0c04 acevents.exe 0 0
0de0 ati2evxx.exe 0 0
05fc Explorer.EXE 342 235 normal C:\WINDOWS
0908 NWMCLI.EXE 14 6 normal C:\Program Files\1E\Agent\NightWatchman
0f40 RTNotify.exe 65 35 normal C:\Program Files\Lumension\Endpoint Security\Client
00dc MOM.exe 11 15 normal C:\Program Files\ATI Technologies\ATI.ACE\Core-Static
0ce4 BGinfo.exe 54 47 normal C:\WINDOWS\system32
021c smax4pnp.exe 19 7 normal C:\Program Files\Analog Devices\Core
0c34 Clagent.exe 47 23 normal C:\Program Files\Vista\Broker
0f38 UdaterUI.exe 52 41 normal C:\Program Files\McAfee\Common Framework
0c10 GrooveMonitor.exe 11 4 normal C:\Program Files\Microsoft Office\Office12
0e74 McTray.exe 123 113 normal C:\Program Files\McAfee\Common Framework
0d8c FireTray.exe 37 17 normal C:\Program Files\McAfee\Host Intrusion Prevention
0b70 acevents.exe 11 9 normal C:\Program Files\ActivIdentity\ActivClient
0378 accrdsub.exe 50 22 normal C:\Program Files\ActivIdentity\ActivClient
057c DVTrayApp.exe 22 14 normal C:\Program Files\Tumbleweed\Desktop Validator
0a74 ctfmon.exe 103 49 normal C:\WINDOWS\system32
0fc0 acsagent.exe 23 19 normal C:\Program Files\ActivIdentity\ActivClient
0580 BESClientUI.exe 121 91 normal C:\Program Files\BigFix Enterprise\BES Client
0f54 OUTLOOK.EXE 463 267 normal C:\Program Files\Microsoft Office\Office12
0474 ccc.exe 44 51 normal C:\Program Files\ATI Technologies\ATI.ACE\Core-Static
147c xxxxxxxxx.EXE 246 331 normal \\xxxxxxxxxx\xxxx\xxxx
1580 C2W_CM.exe 8 5 normal C:\Program Files\Sentillion\DesktopComponents\COMAdapters
0a0c r2win.exe 214 117 normal C:\Program Files\Attachmate\Reflection
14fc WINWORD.EXE 268 105 normal C:\Program Files\Microsoft Office\Office12
03d4 xxxxxxxxxxxxxxxxx.exe 216 151 normal \\xxxxxxxxxxx\xxxxxxxx\xxxx

hardware:
+ Computer
- ACPI Multiprocessor PC
+ Disk drives
- SAMSUNG HD083GJ
+ Display adapters
- ATI Radeon HD 3450 - Dell Optiplex (driver 8.513.1.0)
- ConfigMgr Remote Control Driver
+ DVD/CD-ROM drives
- HL-DT-ST DVD+-RW GT10N
+ Human Interface Devices
- USB Human Interface Device
- USB Human Interface Device
+ IDE ATA/ATAPI controllers
- Intel(R) ICH10 Family 2 port Serial ATA Storage Controller 2 - 3A06 (driver 9.0.0.1005)
- Intel(R) ICH10 Family 4 port Serial ATA Storage Controller 1 - 3A00 (driver 9.0.0.1005)
- Primary IDE Channel
- Primary IDE Channel
- Secondary IDE Channel
- Secondary IDE Channel
- Standard Dual Channel PCI IDE Controller
+ Keyboards
- HID Keyboard Device
+ Mice and other pointing devices
- HID-compliant mouse
+ Monitors
- Plug and Play Monitor
- Plug and Play Monitor
+ Network adapters
- Intel(R) 82567LM-3 Gigabit Network Connection (driver 10.3.39.0)
+ Ports (COM & LPT)
- Communications Port (COM1)
- ECP Printer Port (LPT1)
- Intel(R) Remote PC Assist Technology - SOL (COM4) (driver 5.5.0.1057)
+ Processors
- Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
- Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
+ Smart card readers
- Smart Card Reader Keyboard (driver 1.0.0.2)
+ Sound, video and game controllers
- Audio Codecs
- Legacy Audio Drivers
- Legacy Video Capture Devices
- Media Control Devices
- SoundMAX Integrated Digital High Definition Audio (driver 5.10.1.5851)
- Video Codecs
+ System devices
- ACPI Fixed Feature Button
- ACPI Power Button
- Direct memory access controller
- High precision event timer
- Intel(R) 4 Series Chipset PCI Express Root Port - 2E11 (driver 9.0.0.1009)
- Intel(R) 4 Series Chipset Processor to I/O Controller - 2E10 (driver 9.0.0.1009)
- Intel(R) 82801 PCI Bridge - 244E (driver 7.0.0.1011)
- Intel(R) ICH10 Family PCI Express Root Port 1 - 3A70 (driver 9.0.0.1009)
- Intel(R) ICH10 Family PCI Express Root Port 2 - 3A72 (driver 9.0.0.1009)
- Intel(R) ICH10 Family SMBus Controller - 3A60 (driver 9.0.0.1005)
- Intel(R) ICH10D LPC Interface Controller - 3A1A (driver 9.0.0.1009)
- Intel(R) Management Engine Interface
- ISAPNP Read Data Port
- Logical Disk Manager
- Microcode Update Device
- Microsoft ACPI-Compliant System
- Microsoft System Management BIOS Driver
- Microsoft UAA Bus Driver for High Definition Audio
- Microsoft Windows Management Interface for ACPI
- Numeric data processor
- OpenManage Client Instrumentation device driver (driver 7.6.0.732)
- PCI bus
- Plug and Play Software Device Enumerator
- Printer Port Logical Interface
- Programmable interrupt controller
- System board
- System CMOS/real time clock
- System speaker
- System timer
- Terminal Server Device Redirector
- Terminal Server Keyboard Driver
- Terminal Server Mouse Driver
- Volume Manager
+ Universal Serial Bus controllers
- Intel(R) ICH10 Family USB Enhanced Host Controller - 3A6A (driver 9.0.0.1005)
- Intel(R) ICH10 Family USB Enhanced Host Controller - 3A6C (driver 9.0.0.1005)
- Intel(R) ICH10 Family USB Universal Host Controller - 3A64 (driver 9.0.0.1005)
- Intel(R) ICH10 Family USB Universal Host Controller - 3A65 (driver 9.0.0.1005)
- Intel(R) ICH10 Family USB Universal Host Controller - 3A66 (driver 9.0.0.1005)
- Intel(R) ICH10 Family USB Universal Host Controller - 3A67 (driver 9.0.0.1005)
- Intel(R) ICH10 Family USB Universal Host Controller - 3A68 (driver 9.0.0.1005)
- Intel(R) ICH10 Family USB Universal Host Controller - 3A69 (driver 9.0.0.1005)
- USB Composite Device
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub

cpu registers:
eax = 00000ff8
ebx = 03206e38
ecx = 0000007d
edx = 00000ff8
esi = 03216ffd
edi = 03209244
eip = 4dd03195
esp = 0012e520
ebp = 0012e650

stack dump:
0012e520 20 94 0c 03 00 00 00 00 - 00 00 00 00 02 02 02 02 ................
0012e530 20 94 0c 03 02 02 02 02 - 02 02 02 02 02 02 02 4f ...............O
0012e540 4c 45 44 42 53 53 44 65 - f1 71 21 03 64 34 00 00 LEDBSSDe.q!.d4..
0012e550 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
0012e560 33 64 34 00 00 00 00 00 - 00 00 00 00 0b 6c 00 00 3d4..........l..
0012e570 90 ed 12 00 38 00 00 00 - 78 3b 20 03 18 d6 20 03 ....8...x;......
0012e580 9b 4c d4 4d 78 3b 20 03 - ff 03 00 00 1f 5f fe 77 .L.Mx;......._.w
0012e590 d8 e5 12 00 37 5f fe 77 - 00 00 00 00 02 02 02 02 ....7_.w........
0012e5a0 02 02 02 02 02 02 02 02 - 02 02 02 00 c0 e5 12 00 ................
0012e5b0 d5 48 12 77 06 c4 13 77 - 00 00 00 00 00 00 00 00 .H.w...w........
0012e5c0 0a 00 00 00 00 00 00 00 - ec f0 12 00 e8 e8 12 00 ................
0012e5d0 c0 33 0e 03 09 04 00 00 - 00 00 00 00 2c e6 12 00 .3..........,...
0012e5e0 e5 c0 13 77 09 04 00 00 - 00 00 00 00 06 00 00 00 ...w............
0012e5f0 ec f0 12 00 e8 e8 12 00 - 01 00 00 00 ff 1f 00 00 ................
0012e600 00 00 00 00 01 00 00 00 - 00 00 00 00 00 00 00 00 ................
0012e610 01 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
0012e620 00 00 00 00 75 e6 12 00 - 00 00 00 00 84 e6 12 01 ....u...........
0012e630 84 e6 12 00 ad 02 15 77 - 5c e6 12 00 74 e6 12 00 .......w\...t...
0012e640 00 00 08 00 4c e6 12 00 - 02 02 02 02 0b 6c 00 00 ....L........l..
0012e650 78 e6 12 00 89 75 d2 4d - 20 94 0c 03 e0 c8 20 03 x....u.M........

disassembling:
[...]
00825f59 mov eax, [eax]
00825f5b call -$34dc4 ($7f119c) ; dssLog.TLogFile.Add00825f60 1528 mov eax, [$b94e44]
00825f65 mov eax, [eax]
00825f67 mov eax, [eax+$64]
00825f6a > call -$35707 ($7f0868) ; Data.Win.ADODB.TADOQuery.ExecSQL
00825f6f 1529 mov eax, [$b944bc]
00825f74 mov eax, [eax]
00825f76 mov edx, $8269a8
00825f7b call -$34de4 ($7f119c) ; dssLog.TLogFile.Add00825f80 1531 mov eax, [$b94e44]
[...]

error details:

编辑添加:发生崩溃的过程(抱歉,它是一些未保留缩进的 vcs 合并的受害者)。有问题的行是结束之前的 dmSQL.adoGenericQuery.ExecSQL;:

procedure TAuthorization.SynchAuthToSQL(sStationIFN:string='';bForceUpdate:boolean=false);
const
CountQuery = 'select count(*) from DSS_Authorizations'+
' where AuthIEN = :authIEN '+
' and authstationifn = :stationIFN' +
' and patientien = :patientIEN ';
var
sStart,sEnd:string;
sDxStripped: string;
i: integer;
begin
log.add('Synch Auth to SQL: '+FAuthIEN);
if FAuthIEN = '' then
exit;
if sStationIFN = '' then
sStationIFN := dmBroker.CurrentVistaStation.StationNumber;
sStart := FormatDateTime('mm/dd/yyyy',FMDateTimeToTDateTime(FAuthFromDateVista));
sEnd := FormatDateTime('mm/dd/yyyy',FMDateTimeToTDateTime(FAuthToDateVista));

log.add('Begin auth count');
//First the main authorizations part
dmSQL.adoGenericQuery.SQL.Text := CountQuery;
with dmSQL.adoGenericQuery.Parameters do
begin
FindParam('authIEN').Value := FAuthIEN;
FindParam('stationIFN').Value := sStationIFN;
FindParam('patientIEN').Value := FPatient.InternalValue;
end;
dmSQL.adoGenericQuery.Open;
if dmSQL.adoGenericQuery.Fields[0].Value = 0 then
begin
InsertAuthToSQL;
end
else if bForceUpdate then
begin
//Update-deliberately does not update the ImportedFromVista and DateCreated fields
dmSQL.adoGenericQuery.SQL.Text :=
'update DSS_Authorizations set' +
' DateStart = :DateStart' +
',DateEnd = :DateEnd' +
',VendorIEN = :VendorIEN' +
',FacilityIEN = :FacilityIEN' +
',DXCode1= :DXCode1' +
',DXCode2 = :DXCode2' +
',DXCode3 = :DXCode3' +
',TreatmentTypeIEN = :TreatmentTypeIEN' +
',TypeofCareIEN = :TypeofCareIEN' +
',PatientTypeIEN = :PatientTypeIEN' +
',PurposeOfVisitIEN = :PurposeOfVisitIEN' +
',Remarks = :Remarks' +
',ClerkIEN = :ClerkIEN' +
',CostRecovery = :CostRecovery' +
',AccidentRelated = :AccidentRelated' +
',LastEditedBy = :LastEditedBy' +
',LastEditedDT = :LastEditedDT' +
',ContractID = :ContractID' +
' where AuthIEN =:AuthIEN and ' +
' AuthStationIFN = :AuthStationIFN and' +
' PatientIEN = :PatientIEN';
with dmSQL.adoGenericQuery.Parameters do
begin
FindParam('DateStart').Value := sStart;
FindParam('DateEnd').Value := sEnd;
FindParam('VendorIEN').Value := FVendor.InternalValue;
FindParam('FacilityIEN').Value := FLocation.IEN;
FindParam('DXCode1').Value := FDXLine1;
FindParam('DXCode2').Value := FDXLine2;
FindParam('DXCode3').Value := FDXLine3;
FindParam('TreatmentTypeIEN').Value := FTreatmentType.InternalValue;
FindParam('TypeofCareIEN').Value := FTypeOfCare.InternalValue;
FindParam('PatientTypeIEN').Value := FPatientType.InternalValue;
FindParam('PurposeOfVisitIEN').Value := FPurpose.IEN;
FindParam('Remarks').Value := FRemarks;
FindParam('ClerkIEN').Value := FClerk.InternalValue;
FindParam('CostRecovery').Value := BoolToOneZeroString(FCostRecovery);
FindParam('AccidentRelated').Value := BoolToOneZeroString(FAccidentRelated);
FindParam('LastEditedBy').Value := dmBroker.dssBroker.UserDuz + ';' + dmBroker.dssBroker.UserName;
FindParam('LastEditedDT').Value := Now;
FindParam('ContractID').Value := FContract.ExternalValue;
FindParam('AuthIEN').Value := FAuthIEN;
FindParam('AuthStationIFN').Value := sStationIFN;
FindParam('PatientIEN').Value := FPatient.InternalValue;
end;
log.add('Begin update of existing auth: '+ dmSQL.adoGenericQuery.SQL.Text);
dmSQL.adoGenericQuery.ExecSQL;
log.add('Update done');
end;
dmSQL.adoGenericQuery.close;
log.add('Auth synch done');
end;

最佳答案

我怀疑这是您的应用程序中的特定内存损坏错误。事实上,它可能是由 XE2 VCL 或 RTL 中的某些内容引起的,但更可能是代码中出现问题,例如从 Ansi 到 Unicode 的错误移植。

您声明迁移是从 Delphi 2006 (String=AnsiString) 到 XE2 (String=UnicodeString)。您的代码中包含以下任意内容:

  • 有无类型的 var 参数吗?
  • 是否有任何地方假设 Sizeof(Char)=Sizeof(Byte)?
  • 当您应该转换为 PAnsiChar 或从 PChar 转换时,可以在任何地方进行转换,因为 PChar 在 XE2 中是指向 UnicodeChar 的指针,但 2006 中的 PChar 是指向 AnsiChar 的指针。

关于delphi - 将 Delphi XE2 ADO 组件与 SQLOLEDB.1 提供程序一起使用是否存在已知问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11418906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com