List item can not be syncronize to the sql table

Dec 23, 2009 at 1:19 AM

I'm new to SLAM. I think SLAM is a most useful tool, It can do many things for the MOSS users.

I try to install the SLAM 1.2.0.6, all of the things went well but the list item can not be stored into SQL table. when i click the syncronize button, still like before and no error message appeared.

I need help.

Thanks in advance!

 

 

 

 

 

Developer
Dec 23, 2009 at 2:35 AM

Did you validate under the SLAM contol panel?

 

Dec 23, 2009 at 3:07 AM

I valadated it , and no error appeared. but after rebooting the computer, i saw the record in the sql table, when i entered the second list item in SP, and the data still can not be seen in the sql table.

Dec 23, 2009 at 3:31 AM

And I rebooted the computer again, it didn't like the before , no data was inserted the sql table this time.  I validated it , and no error, when i Synchronized it , below message was displayed:

 Date   Type   Message 2009-12-23 11:27:10 Information Data Synchronization Complete 2009-12-23 11:27:10 Information Data Synchronization Processing: 计划明细 2009-12-23 11:27:10 Information Data Synchronization Processing: 计划单 2009-12-23 11:27:10 Exception System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。语句已终止。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) 在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) 在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) 在 System.Data.Linq.DataContext.ExecuteMethodCall(Object instance, MethodInfo methodInfo, Object[] parameters) 在 System.Data.Linq.DataContext.ExecuteCommand(String command, Object[] parameters) 在 AWS.SLAM.Data.SqlDataRepository.InsertItem(String tableSchema, String tableName, Hashtable values) 在 AWS.SLAM.Data.SqlDataServices.Update(String typeName, String id, Hashtable values) 在 AWS.SLAM.Events.ListItemUpdater.Update(SPListItem listItem) 2009-12-23 11:27:10 Information Data Synchronization initiated 2009-12-23 11:25:47 Information Data Synchronization Complete 2009-12-23 11:25:47 Information Data Synchronization Processing: 计划明细 2009-12-23 11:25:47 Information Data Synchronization Processing: 计划单 2009-12-23 11:25:47 Exception System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。语句已终止。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) 在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) 在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) 在 System.Data.Linq.DataContext.ExecuteMethodCall(Object instance, MethodInfo methodInfo, Object[] parameters) 在 System.Data.Linq.DataContext.ExecuteCommand(String command, Object[] parameters) 在 AWS.SLAM.Data.SqlDataRepository.InsertItem(String tableSchema, String tableName, Hashtable values) 在 AWS.SLAM.Data.SqlDataServices.Update(String typeName, String id, Hashtable values) 在 AWS.SLAM.Events.ListItemUpdater.Update(SPListItem listItem) 2009-12-23 11:25:47 Information Data Synchronization initiated 2009-12-23 11:01:39 Information Data Synchronization Complete 2009-12-23 11:01:39 Information Data Synchronization Processing: 计划明细 2009-12-23 11:01:39 Information Data Synchronization Processing: 计划单 2009-12-23 11:01:39 Exception System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。语句已终止。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) 在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) 在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) 在 System.Data.Linq.DataContext.ExecuteMethodCall(Object instance, MethodInfo methodInfo, Object[] parameters) 在 System.Data.Linq.DataContext.ExecuteCommand(String command, Object[] parameters) 在 AWS.SLAM.Data.SqlDataRepository.InsertItem(String tableSchema, String tableName, Hashtable values) 在 AWS.SLAM.Data.SqlDataServices.Update(String typeName, String id, Hashtable values) 在 AWS.SLAM.Events.ListItemUpdater.Update(SPListItem listItem) 2009-12-23 11:01:38 Information Data Synchronization initiated 2009-12-23 10:59:05 Exception System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。语句已终止。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) 在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) 在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) 在 System.Data.Linq.DataContext.ExecuteMethodCall(Object instance, MethodInfo methodInfo, Object[] parameters) 在 System.Data.Linq.DataContext.ExecuteCommand(String command, Object[] parameters) 在 AWS.SLAM.Data.SqlDataRepository.InsertItem(String tableSchema, String tableName, Hashtable values) 在 AWS.SLAM.Data.SqlDataServices.Insert(String typeName, Hashtable values) 在 AWS.SLAM.Events.ListItemCreator.Create(SPListItem listItem) 2009-12-23 8:52:35 Information Data Synchronization Complete 2009-12-23 8:52:35 Information Data Synchronization Processing: 计划明细 2009-12-23 8:52:35 Information Data Synchronization Processing: 计划单 2009-12-23 8:52:35 Information Data Synchronization initiated 2009-12-23 8:45:08 Information Activation Complete 2009-12-23 8:45:08 Information Create table for ListToOtherList 2009-12-23 8:45:08 Information Create table for 计划明细 2009-12-23 8:45:08 Information Processing 计划明细 2009-12-23 8:45:08 Information Create table for 计划单 2009-12-23 8:45:08 Information Processing 计划单 2009-12-23 8:45:08 Information Attached Event Handlers for List: ITCENTER - 计划明细 2009-12-23 8:45:08 Information Attached Event Handlers for List: ITCENTER - 计划单 2009-12-23 8:45:08 Information Activation Initiated 2009-12-23 8:45:08 Information Deactivation Complete 2009-12-23 8:45:03 Information Deactivation Initiated

Dec 23, 2009 at 9:37 AM
Edited Dec 23, 2009 at 9:48 AM

I solved the problem, the reason is that:  the one field of sql is varchar(6), and the corresponding SPType is a choice, one entryis 6 characters long ,and the another is 8 characters long. so when i select the 8characters choice,it can not be store in the database. I changed the sql field to varchar(8),it's working .     but new problem appeared:  even one of the SP item entry is blank, it can not be stored in to the sql table. what's the problem?

            thanks a lot!

 

Developer
Dec 23, 2009 at 6:06 PM

Sorry, not sure I understand the new problem.

Dec 24, 2009 at 12:15 AM
Edited Dec 24, 2009 at 12:21 AM

Sorry, I didn't depict the problem clearly .

My new problem is that: if i fill all the SP list fields,(no field is blank), then that SP list item can be synchronize to the sql table,  otherwise, even if only one SP list field is blank, It cann't be stored into SQL table.   what's the problem?

     thanks a lot.

 

 

Dec 24, 2009 at 1:09 AM

The problem above  solved, the reason is the fields both in slam.config and  sql table are  set to 'not null'.