Showing posts with label customer. Show all posts
Showing posts with label customer. Show all posts

Monday, March 26, 2012

Linkedserver , Navision C/ODBC, Null columns Error

hello
i am having a few problems with Linkedserver and Navision Financials.
Most of the tables in navision (Customer, Prospect, Sales Line etc) have
DateTime columns that may contain nothing (null).
if i try to select these records i will get an error but i need access to
these columns so i can find out it the record has been updated recently.
the error is:
[Microsoft][ODBC Sql Server Driver][SQL Server]OLE DB error trace
[Non-interface error: Unexpected NULL value returned for the column:
ProviderName='MSDASQL', TableName'[Rowset_1]',ColumnName='Date_Completed'].
so how can i retrieve records with null columns? can i specify somewhere in
sql statements to ignore null columns or something? below is a sample sql
query.
also note that the funtion IFNULL dont work for me, i will still get an
error
example sql statement:
DBCC TRACEON (8765)
SELECT * FROM
OPENQUERY(NAVISION,'SELECT
* FROM Sales_Header WHERE Document_Type = ''Order'' ')
if i replace * with specific column names (No_ Name_ etc) it will work fine,
as long as Date_Completed isnt requested (in this case).
i am develping a navision client for users on the road (using XDA II ppc's)
that will connect over GPRS and webservices so this is why i require the
DateTime fields, so the user will know if the records are upto date in the
SqlCe database.
Regards,
Ricardo Meechan
I am having the exact same problem. Have you gotten any further in resolving this issue?
************************************************** ********************
Sent via Fuzzy Software @. http://www.fuzzysoftware.com/
Comprehensive, categorised, searchable collection of links to ASP & ASP.NET resources...

Linkedserver , Navision C/ODBC, Null columns Error

hello
i am having a few problems with Linkedserver and Navision Financials.
Most of the tables in navision (Customer, Prospect, Sales Line etc) have
DateTime columns that may contain nothing (null).
if i try to select these records i will get an error but i need access to
these columns so i can find out it the record has been updated recently.
the error is:
[Microsoft][ODBC Sql Server Driver][SQL Server]OLE DB error trac
e
[Non-interface error: Unexpected NULL value returned for the column:
ProviderName='MSDASQL', TableName'& #91;Rowset_1]',ColumnName='Date_Complete
d
'].
so how can i retrieve records with null columns? can i specify somewhere in
sql statements to ignore null columns or something' below is a sample sql
query.
also note that the funtion IFNULL dont work for me, i will still get an
error
example sql statement:
DBCC TRACEON (8765)
SELECT * FROM
OPENQUERY(NAVISION,'SELECT
* FROM Sales_Header WHERE Document_Type = ''Order'' ')
if i replace * with specific column names (No_ Name_ etc) it will work fine,
as long as Date_Completed isnt requested (in this case).
i am develping a navision client for users on the road (using XDA II ppc's)
that will connect over GPRS and webservices so this is why i require the
DateTime fields, so the user will know if the records are upto date in the
SqlCe database.
Regards,
Ricardo MeechanI am having the exact same problem. Have you gotten any further in resolving
this issue?
****************************************
******************************
Sent via Fuzzy Software @. http://www.fuzzysoftware.com/
Comprehensive, categorised, searchable collection of links to ASP & ASP.NET
resources...

Friday, February 24, 2012

server to Oracle 9.2

Greetings,
My customer is in the process of changing from Oracle
8.0.5 to 9.2.0. In one of there tables there is a field
that is defined as a number with no precision, and no
scale. When I look at the data in the field I find digits
on both sides on the decimal point.
The databases using Oracle 8.0.5, I have no problem
retriving the data. However those using Oracle 9.2.0, SQL
Server returns an error.
The error reads:
Server: Msg 7356, Level 16, State 1, Line 1
OLE DB provider 'MSDAORA' supplied inconsistent
metadata for a column. Metadata information was changed at
execution time.
OLE DB error trace [Non-interface error:
Column 'ITEM_DISC_AMT' (compile-time ordinal 15) of
object '"MFG"."TMFG_ORDER_LINE_ITEM"' was reported to have
a DBTYPE of
130 at compile time and 5 at run time].
If I import the Oracle 8.0.5 version of the table into SQL
Server, I find the field defined as [numeric](38, 0]. When
I do the same with the Oracle 9.2.0 version, its defined
as [float].
Something I find interesting is MS Access does not have
any problem with either database.
My customer doesn't seem want to change the field
definition.
Can anyone recommend a way around this.
Thanks in advance!
MarkMark,
There are some limitations with clients Oracle 9i and above especially to
do with certain data types. Please see
244661 INFO: Limitations of Microsoft Oracle ODBC Driver and OLEDB Provider
http://support.microsoft.com/?id=244661
Note that the article comments: "If you require Oracle 9i functionality and
decide to use the Oracle 9i client, note that Microsoft has not tested this
configuration and that you may encounter problems."
I suggest testing out with the Microsoft .NET Managed Oracle Provider as
specified in the article.
Regards
James

server to Oracle 9.2

Greetings,
My customer is in the process of changing from Oracle
8.0.5 to 9.2.0. In one of there tables there is a field
that is defined as a number with no precision, and no
scale. When I look at the data in the field I find digits
on both sides on the decimal point.
The databases using Oracle 8.0.5, I have no problem
retriving the data. However those using Oracle 9.2.0, SQL
Server returns an error.
The error reads:
Server: Msg 7356, Level 16, State 1, Line 1
OLE DB provider 'MSDAORA' supplied inconsistent
metadata for a column. Metadata information was changed at
execution time.
OLE DB error trace [Non-interface error:
Column 'ITEM_DISC_AMT' (compile-time ordinal 15) of
object '"MFG"."TMFG_ORDER_LINE_ITEM"' was reported to have
a DBTYPE of
130 at compile time and 5 at run time].
If I import the Oracle 8.0.5 version of the table into SQL
Server, I find the field defined as [numeric](38, 0]. When
I do the same with the Oracle 9.2.0 version, its defined
as [float].
Something I find interesting is MS Access does not have
any problem with either database.
My customer doesn't seem want to change the field
definition.
Can anyone recommend a way around this.
Thanks in advance!
Mark
Mark,
There are some limitations with clients Oracle 9i and above especially to
do with certain data types. Please see
244661 INFO: Limitations of Microsoft Oracle ODBC Driver and OLEDB Provider
http://support.microsoft.com/?id=244661
Note that the article comments: "If you require Oracle 9i functionality and
decide to use the Oracle 9i client, note that Microsoft has not tested this
configuration and that you may encounter problems."
I suggest testing out with the Microsoft .NET Managed Oracle Provider as
specified in the article.
Regards
James