NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

TestStand database logging problem: only the first character is put in the table.

Hi Scott Richardson,
 
1. I am using Microsoft Windows 2000 5.00.2195 Service Pack 4. It's an English version. I set up multi-language support and set Simplified Chinese as default language setting for the system when the error occured. Once I set the default back to English, TestStand works fine.
 
2. I do not have the Microsoft bug ID. It's just my guess as after I installed MDAC 2.8(I only tried V2.8), I solved the database access error problem. (the problem like I mentioned in my former post: "Microsoft OLE DB Provider for SQL Server:    Cursor operation conflict"). The former MDAC version I think it was V2.5.
 
3. All the string columns in all the SQL database tables were logged only the first letter. I suppose the problem is at "Log Results to Database" step in "Log to Database in Database.seq"
 
Jaso
0 Kudos
Message 11 of 25
(2,490 Views)

Jaso -
I tried to duplicate the problem with Windows 2000 SP3 with MDAC 2.5 and I duplicated the error that you mentioned, and yes MDAC 2.8 did fix it. It might have been fixed in 2.6.or 2.7, but I do not have those versions.

I tried to duplicate the problem with a single character being written and I could not. I was using the Generic Recordset schema. Can you clarify which schema that your were using? Did you set the multibyte setting in TestStand? What settings under the Regional Options of the Control Panel did you change because my system does not define a default setting of Simplified Chinese, mine only has Chinese (Singapore) and Chinese (RPC)?

Scott Richardson
https://testeract.com
0 Kudos
Message 12 of 25
(2,451 Views)
Scott Richardson
 
I was using schema TS 1.xAccess/SQL(NI).  The Multi-byte setting under Station Options -Localization of TestStand does not affect the result.
 
In the the Regional Options window of Windows control panel, under "General" tab and item "Language settings for the system", there is a "Simplified Chinese" check box. After you install this language support, there will be a check mark beside it. Select the "Set default" button below it. In the popup window, select Chinese (PRC) or  Chinese (Singapore), click OK, then Apply or OK. Windows will ask you restart system. After the system restarts, you can see the [default] beside "Simplified Chinese". Under this case, TestStand will have problem logging data.
 
Jaso
0 Kudos
Message 13 of 25
(2,444 Views)
Jaso -
That is what I had done. Do you see a single character in the database irregardless of whether the string being logged is English or Chinese?  Does the single character issue occur with the Status field for the UUT and the step result tables?  What is the version of the file C:\Program Files\Common Files\System\Ole DB\sqloledb.dll?  Have you tried this on any XP system?
Scott Richardson
https://testeract.com
0 Kudos
Message 14 of 25
(2,433 Views)
Scott Richardson
 
When the string is Chinese, none is logged.
 
In uut_result table, UUT_STATUS has one character logged. START_DATE_TIME and EXECUTION_TIME are normal.
In step_result table, there is only one character for the STATUS too.
 
File C:\Program Files\Common Files\System\Ole DB\sqloledb.dll is 2000.85.1117.0.
 
I have not tried on XP.
 
I have attached a file containing the screen shot of the table.
 
Jaso
0 Kudos
Message 15 of 25
(2,430 Views)

Jaso -
I must have missed you saying that the local server works fine with the Chinese setting. TestStand does nothing different when connecting to a local vs a remote server. The only difference is the connection string and potentially the receiving server version. I am using SQL Server 8.0 SP3. What version of the SQL server is running locally and on your remote server, please include service packs if applicable?  Can you share your connection string in case there is anything unusual in it.  Can you try a different and or more recent remote server to see if the problem occurs?  Have you tried to use another application to write to the database, such as the TestStand Database Viewer?

Message Edited by Scott Richardson on 06-09-2006 09:48 AM

Scott Richardson
https://testeract.com
0 Kudos
Message 16 of 25
(2,422 Views)

Scott Richardson

On the computer with Chinese setting as default, TestStand works fine with its local SQL server 2000 V8.00.194 on Windows 2000, but logs only the first character when working with a remote SQL server, Microsoft SQL Server  2000 - 8.00.679 (Intel X86)   Aug 26 2002 15:09:48   Copyright (c) 1988-2000 Microsoft Corporation  Standard Edition on Windows NT 4.0 Service Pack 6, whatever you use the database logging option or use database logging steps. I tried using sql statement under database viewer, logging was correct. Editting in database viewer had no difference for tables on both servers.  If I set the default back to English, TestStand logs correctly with both servers.

My supposition is that the local SQL server already runs on a Chinese supported environment (even without setting Chinese as default), the remote server is still under English environment. 

I just found that TestStand can not log Chinese strings (see only ??? in the table) event when I set Chinese as default in windows and turn on Recognize  Multi-byte Characters in TestStand.

If you find out what's wrong, TestStand or SQL server, let me know.

Jaso

0 Kudos
Message 17 of 25
(2,410 Views)

Jaso -
Sorry for me not following up earlier, but I do not have any new results. So far I have been unable to reproduce the problem still. I am going to try to re-ghost my test system and start from scratch again to see if I can reproduce it.

Scott Richardson
https://testeract.com
0 Kudos
Message 18 of 25
(2,378 Views)

Jaso -
No luck being able to reproduce this. I tried to reproduce the exact senario as your and could not duplicate the problem. There is something about your system that is different than mine. As mentioned earlier, our code behaves no different whether local or server, so somehow the data is getting messed up after we pass it to the ADO interface. The database logging feature has been changed little since it was release in TestStand 2.x, and I have never heard of this problem previously with customers that run under a Chinese version of Windows.  The only way I can think of to debug this would be to somehow trace the data once we give it to ADO and I am not aware of anyway to do this.

Does your connection string have anything other than something like this:

"Provider=SQLOLEDB.1;Password=user;Persist Security Info=True;User ID=user;Initial Catalog=TS1Recordset;Data Source=computer2000"

Microsoft has a new SQL Native Client SQL Provider that you can download from http://msdn.microsoft.com/data/ref/sqlnative/. You might want to try this. It would be interesting to see if this fixes or still exhibits the problem.

Do you have any other Windows 2000 or XP systems that you can try this on to determine if this is the only system or it occurs elsewhere?

Scott Richardson
https://testeract.com
0 Kudos
Message 19 of 25
(2,370 Views)

Jaso -
Have you had any new progress on this issue? Have you been able to try the Native SQL Server provider to see if there is a different behavior, or have you tried a different Windows 2000 or XP system to see if this occurs elsewhere?

Scott Richardson
https://testeract.com
0 Kudos
Message 20 of 25
(2,318 Views)