Опитвам се да използвам vbscript, за да се свържа с iSeries DB2 база данни чрез ADO, за да направя много просто извличане на данни, но срещам няколко странности.
Ако задам местоположението на курсора на връзката да бъде страна на сървъра, тогава процесът на wscript "изчезва" след стъпка 3 (вижте по-долу). Ако задам CursorLocation да бъде локален, тогава получавам съобщение "неуточнена грешка " (80004005), когато се опитвам да отворя набора от записи.
Ако копирам кода във VB (и направя незначителните промени в синтаксиса), тогава всичко работи правилно, така че не може да бъде разрешение за достъп до базата данни. Опитах се да извлека от различни файлове, за да се уверя, че името на полето не е защитена стойност. Проверих и се уверих, че CCSID на файла на сървъра е 65535 (като по този начин отрича необходимостта от превод на низа за връзка). Сега съм стъписан.
Някой има ли идеи?
Кодът е както следва:
msgbox "1. Started"
set currcon = getConnection()
currcon.CursorLocation = 3
msgbox "2. Connection Created"
set rcdset = getRcdSet("Select field from Library.file", currcon)
rcdset.open
msgbox "3. Recordset Open"
Moo = rcdset.fields(0)
msgbox "4. Ended"
Public Function getRcdSet(stmt, oCon)
'Basic declarations
Dim RcdSet
Set RcdSet = createobject("ADODB.Recordset")
'Create the record set
RcdSet.ActiveConnection = oCon
RcdSet.Source = stmt
'Set the return value
Set getRcdSet = RcdSet
End Function
Public Function getConnection()
'Basic connection details
Dim CurrCon
Dim ConString
'Build the connection string
ConString = "Driver={Client Access ODBC Driver (32-bit)};System=XXXXXXX;Uid="
ConString = ConString & "XXXXX"
ConString = ConString & ";Pwd="
ConString = ConString & "XXXXX"
'Create and open the connection
Set CurrCon = CreateObject("ADODB.Connection")
CurrCon.ConnectionString = ConString
CurrCon.Open
'Apply the return value
Set getConnection = CurrCon
End Function