|
本帖最后由 koflion 于 2011-8-30 11:59 编辑
AU3开发的数据库应用程序,数据库是SQL SERVER 2000。其数据库的连接信息会保存在MASTER库sysprocesses 表中,是实时更新的,正常情况下无法修改、删除、插入等。该表有个字段program_name可以知道是什么应用程序连接的。不知道AU3如何设置这个program_name字段的值,哪位有什么好的方法,谢谢!
备注:通过脚本编辑器运行的连接program_name能显示为AutoIt v3 Script ,但编译成EXE后却为空,delphi环境在设置工程的版本等选项即可,应属于编译时的问题,那位大哥有什么好办法啊??
解決:
加個參數就好....連線參數加上 ;App=ABC123
你愿意的话可以修改下UDF。。HOHO,谢谢 kk_lee69 兄!
Func _SQL_Connect(ByRef $ObjConn,$sUsername, $sPassword, $sDatabase, $sServer ,$APP ="",$sDriver = "{SQL Server}")
Local $v = StringMid($sDriver, 2, StringLen($sDriver) - 2)
Local $key = "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers", $val = RegRead($key, $v)
If @error Or $val = "" Then
SetError(2)
Return 0
EndIf
$ObjConn = ObjCreate("ADODB.Connection")
$ObjConn.open("DRIVER=" & $sDriver & ";SERVER=" & $sServer & ";DATABASE=" & $sDatabase & ";UID=" & $sUsername & ";PWD=" & $sPassword & ";APP=" & $APP & ";")
If @error Then
SetError(1)
Return 0
Else
Return $ObjConn
EndIf
EndFunc ;==>_SQL_Connect |
|