Recordset Bug
Hi Happy People,
Does anyone know of a known bug in Dreamweaver that causes
the recordset information not to diplay in the server bahaviour
panel.
I have created a page with recordset call and all is working
fine. Trouble is when I go to edit the page and record set info I
keep getting a warning asking me to creat a recordset. I already
have! It just doesn't seem to show in the Behaviour panel.
Any idea appreciated.
Ta Jules
I've seen that happen if the code was altered by hand. Have
you made any
manual changes?
Alec
Adobe Community Expert
Similar Messages
-
Yet Another 8.0.2 bug
With 8.0.2 (at least with PHP/MySQL) you can no longer use a
variable in your custom SQL more than once. You must specify
"duplicate" variables. For example - I want to find all records
where either SCORE is equal to a passed URL parameter or PLACE is
equal to the same URL parameter. This will NOT work anymore:
SELECT * FROM mytable
WHERE score =
varTheParam OR place =
varTheParam
Define your varTheParam, try to test the results and you get
yelled at because varTheParam is undefined. Your SQL must be like
this:
SELECT * FROM mytable
WHERE score =
varTheParam OR place =
varTheSameParamAgain
Now, define your varTheParam and varTheSameParamAgain -
setting them both equal to the same thing. A waste of resources
here.Come on 8.0.3 update....or just reinstall 8 and not the
latest update. :-)
"Tom Muck" <[email protected]> wrote in
message
news:e7eida$bcf$[email protected]..
>
> "abtech123" <[email protected]> wrote
in message
> news:e7ei9g$b3s$[email protected]..
>> With 8.0.2 (at least with PHP/MySQL) you can no
longer use a variable in
>> your
>> custom SQL more than once. You must specify
"duplicate" variables. For
>> example
>> - I want to find all records where either SCORE is
equal to a passed URL
>> parameter or PLACE is equal to the same URL
parameter. This will NOT work
>> anymore:
>
> Good catch. Just another in the long list of severe
recordset bugs in the
> 8.0.2 updater.
>
> Tom
> -
Bug in SAPbobsCOM.Recordset.GetAsXML()?
I am using the following code:
string query =
"SELECT BoxCode as stBoxcode, (CASE WHEN TaxCode = 'B' THEN BaseAmount ELSE Debit + Credit END) AS Amountx " +
"FROM (SELECT VatTaxBox.BoxCode, VatTaxBox.TaxCode, SUM(dbo.JDT1.Basesum * VatTaxBox.FSign) as BaseAmount, SUM(dbo.JDT1.Debit * VatTaxBox.FSign) AS Debit, SUM(dbo.JDT1.Credit * VatTaxBox.FSign) AS Credit " +
"FROM dbo.JDT1 INNER JOIN dbo.OJDT ON dbo.JDT1.TransId = dbo.OJDT.TransId " +
"INNER JOIN dbo.OVTG ON dbo.JDT1.VatGroup = dbo.OVTG.Code " +
"inner join (SELECT (CASE WHEN BOXx IS NULL THEN VatBoxes.Boxcode ELSE BOXx END) AS BoxCode, VATMember, FormulSignx * FormulSign as FSign, OBOX.summayfld AS TaxCode " +
"FROM (SELECT TOP 100 PERCENT B11.BoxCode AS BOXx, B0.boxcode, B0.BoxMember, B0.VATMember, isnull((select (case when formulSign='M' then -1 else +1 END) as FSignX from box1 b1 " +
"where b1.boxcode=B0.boxcode and b1.SeqNum = B0.Seqnum-1), +1) AS FormulSignx, isnull((select (case when formulSign='M' then -1 else +1 END) as FSignX from box1 b1 " +
"where b1.boxcode=B11.boxcode and b1.SeqNum = B11.Seqnum-1), +1) AS FormulSign " +
"FROM BOX1 B0 LEFT OUTER JOIN BOX1 B11 ON B0.BoxCode = B11.BoxMember " +
"WHERE (NOT (B0.VATMember IS NULL)) ORDER BY B11.BoxCode, B0.BoxCode, B0.SeqNum) AS VatBoxes " +
"INNER JOIN OBOX ON VatBoxes.boxcode = obox.boxcode) as VatTaxBox ON JDT1.VatGroup = VatTaxBox.VATMember " +
"WHERE (dbo.OJDT.RefDate >= '2005/01/01') AND (dbo.OJDT.RefDate <= '2005/07/01') AND OJDT.Series = 4 GROUP BY VatTaxBox.BoxCode, VatTaxBox.TaxCode ) as ResultSet ";
SAPbobsCOM.Recordset rs = (SAPbobsCOM.Recordset)_sapCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
try
rs.DoQuery(query);
int i = rs.RecordCount;
int j = i++;
string s = rs.GetAsXML(); //-> throws an error: "External component has thrown an exception."
catch (Exception ex)
System.Windows.Forms.MessageBox.Show(ex.ToString());
The statement rs.GetAsXML() throws an exception. However when I use a simpler query everything works fine.
What am I doing wrong?
JurgenI don't specifically, but one trick I've learned of is to "hide" complex SQL queries in functions or stored procedures. SBO sometimes has problems with complex SQL queries. They're aware of this, but until it's fixed, try putting that "monster" in a function or a view.
Hope that helps. -
If you insert a Recordset Navigation Bar for a recordset called (say) Images the following code is generated (by CS6 and previous, at least):
if (isset($_GET['totalRows_rsImages'])) {
$totalRows_rsImages = $_GET['totalRows_rsImages'];
} else {
$all_rsImages = mysql_query($query_rsImages);
$totalRows_rsImages = mysql_num_rows($all_rsImages);
If you later rely on a Show if Recordset is Empty/Not Empty behaviour then there is an opportunity for a (potentially malicious) command line alteration to return an incorrect result, e.g. that the recordset is not empty when it actually is. In otherwords, if someone changes or adds a url parameter called totalRows_rsImages the above code will set $totalRows_rsImages above to that value, whether or not the query has returned records.
A subsequent call to:
if ($totalRows_rsImages == 0) { // Show if recordset empty
will show the region, even if the recordset is empty.
This caught me out, and Adobe should fix it by renaming $totalRows_rsImages to something else where appropriate.This caught me out, and Adobe should fix it by renaming
$totalRows_rsImages to something else where appropriate.
Yeah, or re-check to make sure it's within range. Not sure how that could be exploited. Forget about Adobe fixing it - they've completely discontinued support of server behaviors. -
DB Tool Fetch RecordSet Data Bug?
I have a routine that do a fetch all on a csv file. If you use condition TPTemp=23, you will get row 5139. In that row, you have a value 0.98. However, depending on what you put in the csv file, you will get 0 for that number instead. What is going on?
Kudos and Accepted as Solution are welcome!
Attachments:
EnergyTP.csv 4 KB
DB_CSV Query.vi 34 KBHi Jackie,
Thank you for much for looking into it. I am doing a sql query with a csv file, because I would like to only select rows that meet certain criteria, and I would like to make my code more transparent when I convert the program to query a real database table instead of a csv file
It seems like the values are not being read into an variant correctly. If you look at the variant, you will see that the values are incorrect. Is it possible that when the subvi read the csv file, it doesn't know what format the values are supposed to be in and misread them? Thanks!
Yik
Kudos and Accepted as Solution are welcome! -
I have the following code (just as a sample):
<CFQUERY NAME="MyProjects" DATASOURCE="DSN_Name">
select PID, PName from projects
</CFQUERY>
Assume the above query will bring only one record, I'm using
CF 8 with latest hot fix, running on windows server 2003 machine,
with MSSQL 2005.
Now if I try simply just to print this PID (PID is a primary
key set by the table) as below:
<cfoutput>
<cfloop query="MyProjects">
#PID#
</cfloop>
<cfoutput>
Now to run the above code in a stress test with 10 concurrent
users, this PID could bring NULL, while if I write it this way with
same type of test it doesn't break and it doesn't bring NULL
<cfoutput>
<cfloop query="MyProjects">
#MyProjects.PID#
</cfloop>
<cfoutput>
Is this a bug in CF or maybe the JDBC drivers ? Is it scoping
issue ? ... anyone notice this before ?.Qais wrote:
> Thanks for your reply, I know I can do it as
<cfoutput query= ......> but I
> have a friend which told me that if you don't scope a
column name by the name
> of the query, like query_name.column_name and this
column name just by chance
> exists as a variable in another scope (like session or
application or ...etc.)
> and with a stress test it could jump and read that other
value in the other
> scope.
>
> My understanding for CF since before until today that
when you print a query
> like
> <cfoutput query= ......>
> #column_name#
> </cfoutput>
> then CF will look into ONLY that recordset and will not
go further and make a
> search into other scopes.
If there is someone here in this forum from Adobe
> can I get a clear answer if this SHOULD scoped or
not.
>
Yes, scoping is considered a best practice. Inside an
<cfoutput...>
block, ColdFusion will look in the named query *first*, but
it does not
stop there. If the value is not found in the query, then it
will look
into other scopes in a defined and documented order.
Outside of an <cfoutput...>, i.e., in your first
example with a
<cfloop...> I suspect the query is not the first scope
looked into.
http://www.adobe.com/devnet/server_archive/articles/using_cf_variables2.html#scopes
http://www.chapter31.com/2008/03/28/evaluating-coldfusion-unscoped-query-variables/
http://www.oreillynet.com/pub/a/oreilly/web/news/coldfusion_0701.html
Not exactly a hidden secret here. -
I hope someone can help with this. I'm trying to create a
dynamic site using dreamweaver CS3, with php5 and mysql5 in the
background but I'm having difficulty with recordsets disappearing
from the server behaviour menu when tweaking the code to allow set
characters or set names for utf8.
For a while, I've been having a problem getting my
dynamically generated master list pages (eg lists of jobs) to
display international characters like an accented french e (and
other languages) and for these to display correctly when viewed in
phpmyadmin also. So, I've placed headers at the top of the page for
utf8 and created the content metatag for utf8 in the page code.
Where needed I've added ENT_QUOTES utf etc for htmlentities and
added accept-charset utf-8 in the <form> action area.
(one thing I haven't done in the form action area is add
<enctype="multipart/form-data">, but I'm not sure if this
will make any difference)
In the backend, the innoDB database is collated and built
using utf8_unicode_ci. I'm on a shared host -so can't directly
access php.ini or adjust the connection settings through
phpmyadmin. But I can write .htaccess files (currently with the
defaultcharset set to utf8 also).
At this point - all list pages display the correct characters
when retrieved from the database - indicating that the headers are
working. But - in phpmyadmin the letters are garbled, and garbled
on return on update forms (content management). I solved this by
adding the &#xxxx; equivalents in insert and update forms to
display the text correctly on the list pages - but again it's not
convenient to see all of this in phpmyadmin, as I'd like to be able
to read it there as it should be, and to dispense with the need to
add &#xxxx references on the insert and update forms.
So...a bit of searching, and I read that in order for the
international characters to display in phpmyadmin correctly, I
needed to amend my php page code so that for all instances where I
see the connection to the database, before the SELECT, INSERT and
DELETE queries, I need to add either mysql_set_charset('utf8',
$connection) or use three lines of code referencing mysql_query SET
NAMES, SET CHARACTER SET and SET COLLATION_CONNECTION for utf8.
I did that, and it removed all of my recordsets in the
sidebar menu! Not too good. I'm left with a task of rebuilding
pages now.
So I placed the mysql_set_charset line in the connection.php
file in the DW Connections folder below the connection there
instead. [I didn't precede the mysql etc line with a $ sign - I
wonder if that's the issue?]
With this change I could use the Insert forms to add the
international characters directly into the database and see through
phpmyadmin that all was hunky dory. But then the problems came with
first loads of the master list page.
So, I can get international characters into the database now
(which is a step in the right direction for me), using an insert
form on the website, but I still can't get the international
characters to display on the returned page on first loading eg on a
list of jobs. Note that the detail pages display fine when clicking
the master links, and when I return from the detail page back to
the master list - the characters are ok. They just don't seem to
display when the master page loads for the first time which is
really perplexing me.
I suspect that I need to add the mysql_set_charset line below
the $connection and before the selects, inserts etc at all
instances on the webpage, but this just removes the recordset from
the menu, so this doesn't seem to be a good option.
Can anyone point me in the right direction as I'm been stuck
on this for ages. It may be something simple like adding $ in front
of the mysql_query, but then again maybe not.
I've tried other forums - but people seem to be content with
viewing but not offering assistance. I don't believe that what I'm
doing here hasn't been done before....all I want is for my pages to
display international characters and for these to display correctly
in phpmyadmin so that when I insert, update and delete records
using webforms I don't have to resort to using &#xxx inserts.
Help please!.oO(08Green)
> So...a bit of searching, and I read that in order for
the international
>characters to display in phpmyadmin correctly, I needed
to amend my php page
>code so that for all instances where I see the connection
to the database,
>before the SELECT, INSERT and DELETE queries, I need to
add either
>mysql_set_charset('utf8', $connection) or use three lines
of code referencing
>mysql_query SET NAMES, SET CHARACTER SET and SET
COLLATION_CONNECTION for utf8.
Usually you only need to send a SET NAMES 'utf8' right after
the
connection to the DB has been established. That way all data
that is
transferred between the DB and your script will be handled as
UTF-8.
> I did that, and it removed all of my recordsets in the
sidebar menu! Not too
>good. I'm left with a task of rebuilding pages now.
>
> So I placed the mysql_set_charset line in the
connection.php file in the DW
>Connections folder below the connection there instead. [I
didn't precede the
>mysql etc line with a $ sign - I wonder if that's the
issue?]
I've never used mysql_set_charset().
Here in my applications it always works like this:
* the default charset in my InnoDB tables is ISO-8859-1, I
only use
UTF-8 in the columns that really need it (text data, but not
INT or
DATE columns)
* SET NAMES 'utf8' at the beginning
* all files (HTML and PHP) are encoded as UTF-8 without BOM
* all pages delivered as UTF-8 (my pages are
script-generated, so I use
an appropriate header() call to define the content-type and
encoding)
That's it. Oh, and I don't use phpMyAdmin ...
> With this change I could use the Insert forms to add the
international
>characters directly into the database and see through
phpmyadmin that all was
>hunky dory. But then the problems came with first loads
of the master list
>page.
In the first part of your posting it sounded as if it worked
almost
correctly, before you tried to fix the broken phpMyAdmin
appearance.
Is that correct?
> So, I can get international characters into the database
now (which is a step
>in the right direction for me), using an insert form on
the website, but I
>still can't get the international characters to display
on the returned page on
>first loading eg on a list of jobs.
They did display correctly first, didn't they? So it seems
that you
broke your script just in order to fix some PMA problem.
Revert that.
Make your script work for normal input/output from/to a
website first
and don't worry about PMA for now.
What do you need PMA for BTW? It may have many other issues
as well and
should only be used if really necessary or if you're not
familiar with
the command line interface. The only thing that we are using
it is to
get a dump from a remote DB, where I don't have shell access
to call
mysqldump directly (yes, I could also write a little PHP
script for
that, it's already somewhere on my TODO). But here on my
local system I
always use the MySQL command prompt if I have to directly
work on some
tables or to import the dump from remote.
Anyway, if you need PMA, your might try their group or forum.
I'm sure
there's an FAQ as well. Maybe it's just a configuration
issue.
> I've tried other forums - but people seem to be content
with viewing but not
>offering assistance. I don't believe that what I'm doing
here hasn't been done
>before....all I want is for my pages to display
international characters and
>for these to display correctly in phpmyadmin so that when
I insert, update and
>delete records using webforms I don't have to resort to
using &#xxx inserts.
The bug here is PMA itself. ;-)
Micha -
After Creating a RecordSet using Wizard, Unable to Create RecordSet Paging - Error Occurs
I created a record set using the wizard and it tested just fine using the test button. So my next step was to create the "RecordSet Paging" "Move to First Record", whe I select this I get the error "Before using this Server Behavior, please create a record set"
The record set is there, it is even checked off in the binding list as being there, yet I can not do anything, I even went in and deleted it and tried again with the same result, this is getting very annoying and is causing me a lot of extra work.
Is this a BUG!!!
I have seen this issue several times now.
Running Version 11.0 build 4993
Signed
Frustrated!!!!!Hi,
For questions regarding dynamic site development, hop over to the following forum. You'll get better answers there.
Dreamweaver Application Development Forum
http://forums.adobe.com/community/dreamweaver/dreamweaver_development?view=discussions
Nancy O.
Alt-Web Design & Publishing
Web | Graphics | Print | Media Specialists
http://alt-web.com/
http://twitter.com/altweb -
How do i add recordsets to a .dwt.asp-generated page
help - i am at wits end.....
below is code for a page (test3.asp) based on a template
called "catalogue.dwt.asp". i need various recordsets on various
pages based on this template. f i try to add a recordset to
test3.asp, i'm told "making this change would involve changing cose
that is locked by a template or translator" - so i cant add the
recordsets (tho interestingly you can see that i did manage to
somehow add two recordsets at the outset before it started saying
this.
if i try to add the recordsets to the template (which is not
the way i want to do it anyway), i'm told i've added code outside
the html tag and wont be copied unless i add
<!--TemplateInfoOutsideHTMLIsLocked-->
i have bvuilt plenty of other sites where i DONT have this
issue so DW/me must be coding something different sometimes -
bottom line is - how do i get to having a .dwt.asp temaplte which i
can build other pages from, and then add relevant recordsets to.
i would be DEARLY GRATEFUL for anyone who can help me put
this perennial problem to bed.
thanks in advance:
Code attachedFunny, I have never seen anyone report this. And I've worked
with DW and
recordsets in template child pages for a mightly long time,
and never
experienced it. On the other hand, it's always a good idea to
restart your
system when things like this happen. You never know what
could be
interfering.
Murray --- ICQ 71997575
Adobe Community Expert
(If you *MUST* email me, don't LAUGH when you do so!)
==================
http://www.dreamweavermx-templates.com
- Template Triage!
http://www.projectseven.com/go
- DW FAQs, Tutorials & Resources
http://www.dwfaq.com - DW FAQs,
Tutorials & Resources
http://www.macromedia.com/support/search/
- Macromedia (MM) Technotes
==================
"Ed Stewart" <[email protected]> wrote in message
news:fe80k0$4tb$[email protected]..
>> below is code for a page (test3.asp) based on a
template called
>> "catalogue.dwt.asp". i need various recordsets on
various pages based on
>> this
>> template. f i try to add a recordset to test3.asp,
i'm told "making this
>> change
>> would involve changing cose that is locked by a
template or translator" -
>> so i
>> cant add the recordsets (tho interestingly you can
see that i did manage
>> to
>> somehow add two recordsets at the outset before it
started saying this.
>>
>> if i try to add the recordsets to the template
(which is not the way i
>> want to
>> do it anyway), i'm told i've added code outside the
html tag and wont be
>> copied
>> unless i add
<!--TemplateInfoOutsideHTMLIsLocked-->
>>
>> i have bvuilt plenty of other sites where i DONT
have this issue so DW/me
>> must
>> be coding something different sometimes - bottom
line is - how do i get
>> to
>> having a .dwt.asp temaplte which i can build other
pages from, and then
>> add
>> relevant recordsets to.
>>
>> i would be DEARLY GRATEFUL for anyone who can help
me put this perennial
>> problem to bed.
>
>
>
>
> It's a bug. Close and re-open DW and your templated page
will accept the
> RS without squawking. -
Dreamweaver 8 recordset, selecting table
In Dreamweaver 8, when I go to set up a recordset, in the
recordset dialog box, the "table" dropdown box indicates a path to
the table in the database instead of listing all the tables in the
database.
ie
C:\CFusionMX7\wwwroot\websites\mannsUpdaterServer\vehicles\mannsphotos.tblphotos
This did not happen to me in any previous Dreamweaver from
UltraDev to MX2004.
What do I do to configure Dreamweaver (or possibly
Coldfusion) to show the tables of the database in the table dialog
box instead of the path?
The SQL should look like this:
<cfquery datasource="mannsphotos">
UPDATE tblphotos
SET Subject=
Not this:
<cfquery datasource="mannsphotos">
UPDATE
C:\CFusionMX7\wwwroot\websites\mannsUpdaterServer\vehicles\mannsphotos.tblphotos
SET Subject=
Your help is greatly appreciated
Thank you,
BarryIt is caused by a bug in the CF7.01 updater that affect
access databases.
The work around is to change the database type in the CF
administrator from
Access to Access with Unicode.
Paul Whitham
Certified Dreamweaver MX2004 Professional
Adobe Community Expert - Dreamweaver
Valleybiz Internet Design
www.valleybiz.net
"fused" <[email protected]> wrote in message
news:e81l8j$q25$[email protected]..
> In Dreamweaver 8, when I go to set up a recordset, in
the recordset dialog
> box,
> the "table" dropdown box indicates a path to the table
in the database
> instead
> of listing all the tables in the database.
> ie
>
C:\CFusionMX7\wwwroot\websites\mannsUpdaterServer\vehicles\mannsphotos.tblphotos
>
> This did not happen to me in any previous Dreamweaver
from UltraDev to
> MX2004.
>
> What do I do to configure Dreamweaver (or possibly
Coldfusion) to show the
> tables of the database in the table dialog box instead
of the path?
>
> The SQL should look like this:
> <cfquery datasource="mannsphotos">
> UPDATE tblphotos
> SET Subject=
>
> Not this:
>
> <cfquery datasource="mannsphotos">
> UPDATE
>
C:\CFusionMX7\wwwroot\websites\mannsUpdaterServer\vehicles\mannsphotos.tblphotos
> SET Subject=
>
> Your help is greatly appreciated
> Thank you,
> Barry
>
> -
Problems with recordset in PHP/MySQL setting
We use Dreamweaver CS5 for creating dynamic pages (PHP pages with MySQL database). We test the site locally on a Windows 7 operating system with EasyPHP as WAMP server.
We often have a problem in managing the record set.
The following problem occurs quite often:
We take a PHP page. We create a recordset. We use a dynamic table or a repeated region to show the results of the recordset. So far so good.
Then we want to change something to the recordset for example the filter. When editing the recordset, the advanced mode is shown, it is impossible to swith to the simple mode.
By deleting the recordset the problem is not solved. By deleting and afterwards rebuilding the recordset, syntax errors occur. It seems that the php code for building the recordset didn't dissapear.
The only solutions till now seems to completely restart with a new PHP page.
Anyone has a solution for this or anyone did experience the same problem ?
Thank you very much in advance.
IlseYou cannot switch to Simple mode in the Recordset dialog box if you have made any changes to the SQL in Advanced mode.
Opening the Recordset dialog box to edit the settings does occasionally result in the code being inserted again instead of being changed. This appears to be an intermittent bug, which I have experienced myself, and know that others have complained about it, too. As far as I know, there is no solution other than to watch carefully the code that Dreamweaver generates.
If you don't understand the code, you would be well advised to learn what it means and does. Relying on Dreamweaver to do everything for you severely limits what you can do with PHP/MySQL. Adobe regards the server behaviors as quick prototyping tools, rather than for developing production websites. -
am doing VB programming on msacess in iPAQ device ,
there is some limitation in sql and one told me those are not exists in orale lite
so i tred it , intallation ok , running msql ok , creating odb ok ,
when it comes to programming with ADOCE it is the disaster ;
i have table ORDER ( OREDERNO NUMBER(9) , ..... )
when i use
set orders = CreateObject(oladoce.recordset)
orders.Open "ORERS", ,1,3
orders.AddNew
orders.Fields("ORDERNO").value = 21
orders.Update
the program exits on line 2 , even ON ERROR can't catch the error
the funny thing it passes for some other numbers e.g.
orders.Fields("ORDERNO").value = 1
orders.update
am i doing something wrong or
there is bugs in oracle ADOCEhere is the table ORDERS def.
Name Null? Type
ORDERNO N NUMBER(5)
ORDERTYPE Y NUMBER(5)
PRINTEDNO Y VARCHAR2(15)
INVOICENO Y VARCHAR2(15)
BRANCHNO Y VARCHAR2(8)
COMPANYNO Y VARCHAR2(8)
SALESMANNO Y VARCHAR2(15)
CSMNO Y VARCHAR2(15)
CUSTOMERNO Y VARCHAR2(15)
SALESECTORNO Y VARCHAR2(4)
ORDERDATE Y DATE
DELIVERYDATE Y DATE
DELIVERYTIME Y VARCHAR2(20)
ORDERSTATUS Y NUMBER(5)
and here is the code
Set Conn = CreateObject("oladoce.activeconnection")
Conn.Connect "retail"
Set Orders = CreateObject("oladoce.recordset")
Orders.Open "ORDERS", , 1, 3
Orders.AddNew
Orders.Fields("AREANO").Value = 17 ' here the program exits
Orders.Update ' it does not even reatch this ine !!!
you told me to try insert into statement
i did the following :
Set Conn = CreateObject("oladoce.activeconnection")
Conn.Connect "retail"
Set Orders = CreateObject("oladoce.recordset")
sqlStmt = "INSERT INTO ORDERS(ORDERNO) VALUES ( 1 ) "
Orders.Open sqlStmt, , 1, 3
Set Orders = Nothing
Conn.Disconnect
and it does not insert the record into the database
THE REALLY FUNNY THING WHEN I RUN
Set Conn = CreateObject("oladoce.activeconnection")
Conn.Connect "retail"
Set Orders = CreateObject("oladoce.recordset")
sqlStmt = "INSERT INTO ORDERS(ORDERNO) VALUES ( 1 ) "
Orders.Open sqlStmt, , 1, 3
Set Orders = Nothing
Set Orders = CreateObject("oladoce.recordset")
sqlStmt = "commit "
Orders.Open sqlStmt, , 1, 3
Set Orders = Nothing
Conn.Disconnect
i got an error message ' TABLE OR VIEW NOT FOUND '
but when i open the table ORDERS i found that the record inserted !!!!!!!
and you tell me OraLite is not BUGGY !!!!!!!!!!!!!!!!!! -
BUG With 10g OleDB Provider!
Hi there!
I originally thought I was going mad, but now I think there's a bug in the 10g Oracle OleDB Provider. I can repeat this at will on my systems:
* Windows XP SP2 (with all the latest Windows Update Patches)
* Oracle Client (including OleDB Provider) v10.2.0.1.0
* MDAC 2.8 SP1 (with Windows XP SP2)
or
* Windows 2000 Workstation (with all the latest Windows Update Patches)
* Oracle Client (including OleDB Provider) v10.2.0.1.0
* MDAC 2.7
Here's all I have to do!
1) Create a table with some data in Oracle (have tested this against 8i, 9i and 10g databases):
CONN your_username/your_password@your_tns_service_name
CREATE TABLE OLEDB_TEST
RECORD_ID NUMBER(5) NOT NULL,
RECORD_DESC VARCHAR2(50) NOT NULL
INSERT INTO OLEDB_TEST VALUES(0 , '0 is OK!');
INSERT INTO OLEDB_TEST VALUES(1 , '1 is OK!');
INSERT INTO OLEDB_TEST VALUES(10 , '10 is wrong - comes out as 0');
INSERT INTO OLEDB_TEST VALUES(12 , '12 is OK');
INSERT INTO OLEDB_TEST VALUES(100 , '100 is wrong - comes out as 0');
INSERT INTO OLEDB_TEST VALUES(120 , '120 is wrong - comes out as 20');
INSERT INTO OLEDB_TEST VALUES(1200 , '1200 is wrong - comes out as 0');
INSERT INTO OLEDB_TEST VALUES(1230 , '1230 is wrong - comes out as 230');
INSERT INTO OLEDB_TEST VALUES(12300, '12300 is wrong - comes out as 300');
INSERT INTO OLEDB_TEST VALUES(12340, '12340 is wrong - comes out as 2340');
COMMIT;2) Run some VBScript (which you can do in VB6, ASP or however else you want to add it in):
' Constants for the connection string
Const strUSER = "your_username" ' e.g. SCOTT
Const strPASSWORD = "your_password" ' e.g. TIGER
Const strTNS_SERVICE_NAME = "your_tns_service_name" ' e.g. ORCL
Dim objConnection
Dim objRecordset
' make sure we have a temp directory to write to, and that any existing file is deleted
On Error Resume Next
MkDir "C:\temp\"
Kill "c:\temp\oledb_test.txt"
On Error GoTo 0
' create the ADO connection
Set objConnection = CreateObject("ADODB.Connection")
' set the connection string
' Using the Microsoft OLEDB Provider for Oracle works fine and dandy!
'objConnection.ConnectionString = "Provider=MSDAORA.1;User ID=" & strUSER & ";Password=" & strPASSWORD & ";Persist Security Info=True;Data Source=" & strTNS_SERVICE_NAME
' But using Oracle Provider for OLEDB causes us problems!!
objConnection.ConnectionString = "Provider=OraOLEDB.Oracle.1;User ID=" & strUSER & ";Password=" & strPASSWORD & ";Persist Security Info=True;PLSQLRSet=1;Data Source=" & strTNS_SERVICE_NAME
' set the cursor to open on the client
objConnection.CursorLocation = 3 ' adUseClient
' open the connection
objConnection.Open
' create the ADO recordset object
Set objRecordset = CreateObject("ADODB.Recordset")
' set its active connection
Set objRecordset.ActiveConnection = objConnection
' open it up, pulling in the data from the oledb connection
objRecordset.Open "SELECT * FROM OLEDB_TEST"
' disconnect the recordset
Set objRecordset.ActiveConnection = Nothing
' persist the recordset's data to XML
objRecordset.Save "C:\temp\oledb_test.txt", 1 ' adPersistXML
' clean up our objects
objRecordset.Close
Set objRecordset = Nothing
objConnection.Close
Set objConnection = Nothing3) The resulting file in c:\temp\oledb_test.txt is as follows:
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly'>
<s:AttributeType name='RECORD_ID' rs:number='1' rs:writeunknown='true'>
<s:datatype dt:type='number' rs:dbtype='numeric' dt:maxLength='19' rs:scale='0' rs:precision='5' rs:fixedlength='true'
rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='RECORD_DESC' rs:number='2' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:maybenull='false'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row RECORD_ID='0' RECORD_DESC='0 is OK!'/>
<z:row RECORD_ID='1' RECORD_DESC='1 is OK!'/>
<z:row RECORD_ID='0' RECORD_DESC='10 is wrong - comes out as 0'/>
<z:row RECORD_ID='12' RECORD_DESC='12 is OK'/>
<z:row RECORD_ID='0' RECORD_DESC='100 is wrong - comes out as 0'/>
<z:row RECORD_ID='20' RECORD_DESC='120 is wrong - comes out as 20'/>
<z:row RECORD_ID='0' RECORD_DESC='1200 is wrong - comes out as 0'/>
<z:row RECORD_ID='230' RECORD_DESC='1230 is wrong - comes out as 230'/>
<z:row RECORD_ID='300' RECORD_DESC='12300 is wrong - comes out as 300'/>
<z:row RECORD_ID='2340' RECORD_DESC='12340 is wrong - comes out as 2340'/>
</rs:data>
</xml>Note that the RECORD_ID field is incorrect!! Somewhere along the line, for every 0 at the end of the RECORD_ID (when the RECORD_ID is not 0), a digit is removed from the beginning of the RECORD_ID!
This is KILLING me!!!
You will notice that there is a line of code that is commented out which uses the Microsoft OLE DB Provider for Oracle instead. This works fine and dandy. The trouble is I can't use it, as I need functionality in the Oracle provider that the MS provider doesn't have! OUCH!
Can anyone confirm that they get the same problems, or is there something else in my system that is messing things up??
Many thanks for any help!
James
Message was edited by:
JAMES_2JSIt does not affect VS2005. I tried this code on
* Windows XP SP2 (with all the latest Windows Update Patches)
* Oracle Data Access Client v10.2.0.2.20
static void Main(string[] args)
try
// create connection
string cnString = "Provider=OraOLEDB.Oracle.1;User ID=hr;Password=hr;Data Source=//localhost/xe";
OleDbConnection conn = new OleDbConnection(cnString);
// create and fill dataset
OleDbDataAdapter da = new OleDbDataAdapter("select * from oledb_test", conn);
DataSet ds = new DataSet();
da.Fill(ds);
// write to XML
ds.WriteXml("c:\\temp\\oledb_test1.txt");
// done
Console.WriteLine("XML file created, press any key...");
Console.ReadKey();
catch (Exception ex)
Console.WriteLine("Error: " + ex.Message);
Console.ReadKey();
}and the result is,
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Table>
<RECORD_ID>0</RECORD_ID>
<RECORD_DESC>0 is OK!</RECORD_DESC>
</Table>
<Table>
<RECORD_ID>1</RECORD_ID>
<RECORD_DESC>1 is OK!</RECORD_DESC>
</Table>
<Table>
<RECORD_ID>10</RECORD_ID>
<RECORD_DESC>10 is wrong - comes out as 0</RECORD_DESC>
</Table>
<Table>
<RECORD_ID>12</RECORD_ID>
<RECORD_DESC>12 is OK</RECORD_DESC>
</Table>
<Table>
<RECORD_ID>100</RECORD_ID>
<RECORD_DESC>100 is wrong - comes out as 0</RECORD_DESC>
</Table>
<Table>
<RECORD_ID>120</RECORD_ID>
<RECORD_DESC>120 is wrong - comes out as 20</RECORD_DESC>
</Table>
<Table>
<RECORD_ID>1200</RECORD_ID>
<RECORD_DESC>1200 is wrong - comes out as 0</RECORD_DESC>
</Table>
<Table>
<RECORD_ID>1230</RECORD_ID>
<RECORD_DESC>1230 is wrong - comes out as 230</RECORD_DESC>
</Table>
<Table>
<RECORD_ID>12300</RECORD_ID>
<RECORD_DESC>12300 is wrong - comes out as 300</RECORD_DESC>
</Table>
<Table>
<RECORD_ID>12340</RECORD_ID>
<RECORD_DESC>12340 is wrong - comes out as 2340</RECORD_DESC>
</Table>
</NewDataSet> -
Create signature impossible when list is full - bug?
in Logic 8, creating a signature in the list is easy.
but as soon as the list is full, and you get a scroll bar, creating signatures is no longer possible
instead, the measure you are in gets 1 quarterlonger each time you press create signature
anyone has the same experience?
is this a bug?I assume that you are using CF as your testing server. If so
what you are
seeing is a bug in the update. The work around appears to be
to change the
database type when creating the DNS in the CF Administrator
Paul Whitham
Certified Dreamweaver MX2004 Professional
Adobe Community Expert - Dreamweaver
Valleybiz Internet Design
www.valleybiz.net
"Deezy" <[email protected]> wrote in message
news:eiq9nv$h38$[email protected]..
> When I select to create a recordset from within DW8, I
select the
> datasource,
> then the drop down list of tables is displayed as a full
path to the
> database
> on my hard drive. IE It would show up as
> C:\inetpub\wwwroot\sitename\database\cart.products
>
> I constantly have to go into the code and then edit the
table name for it
> to
> work. Is there a way to correct this porblem. It only
happens on my laptop
> and
> not my desktop.
>
> Thanks!
> Dee
> -
SBO B1 2005 SP 01 Patch 11 - Issues with recordsets.
Hi,
We are using recordset for Query all over our application. I have performance problems when I upgraded to SP01 Patch 11. Recordset retrieves the data fast but takes very very long time when I do movenext() or eof() or movefirst().
Here is a sample code:
Dim rs As SAPbobsCOM.Recordset = Query (sqlStmt)
' If no record is fetched, returns false which indicates the finding failed
rs.MoveFirst()
If rs.EoF() Then Return False
' Caches the object columns
CacheColumns(rs)
' Releases the referenced object
rs = Nothing
The whole process takes long time. So I debugged the code. The delay is at MoveFirst() and eof() stage. If I comment these 2 steps, it is faster. But I have to use the recordset functions.
IT WAS VERY QUICK IN SBO 2005 before upgrading the sp01 patch 11. Am I missing something? Is something changed in SP01? I am using Recordset to query on user tables only.
Please somebody help me out.
Regards,
PrakashDoes this bug also affect the GetByKey method? Because I am developing an addon, and all of a sudden it starts to hang. I did upgrade to PL11 during the development. I have been going insane trying to figure out what made my program stop working, and I even back-tracked numerous revisions. In the end, it is the following code that made the difference:
oDocs = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders)
strSQL = "Select DocEntry from ORDR where DocNum = '" + strDocNum + "'"
oRecs = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
oRecs.DoQuery(strSQL)
strDocEntry = oRecs.Fields.Item("DocEntry").Value
If oDocs.GetByKey(strDocEntry) Then
oDocs.UserFields.Fields.Item("U_MyField").Value = strValue
end if
If I comment out the last if statement with GetByKey, it seems to be fine. If I leave it in, it hangs when I click the "Update" button on the Sales Order form. The database I'm working on has thousands of order records. Could it be caused by the bug since it's a large volume of records to go through? We also use record sets all over the place. It also doesn't make sense to me that in other areas it seems to work ok.
Maybe you are looking for
-
Error Message: iTunes.exe is not a valid win 32 application
I have downloaded ITunes twice for the shuffle received for Xmas. I got this error both time. Anyone have suggestions for a fix?
-
When I load Firefox I get an error message that tells me that the application security component could nt be initiallized. The suggestion from the error meddage was to see if there is a read/write restriction for the application profile directory. I
-
I've tried to connect to iTune store and my account from both iPhone4 and MacBook Air but it's unsuccessful. I'm very sure my user id and password are correct. Is there ny temporary server problem? Please advise what should I do?
-
Screen Saver crashing my Java Web Start app
I've written a Java Web Start time tracker application that all employees run from the time they start work until they leave at the end of the day. The only problem is that there are a couple of people who from time to time find that the application
-
Stop Purchase Order creation via a user exit...
Hi all, I have a requirement to display an error and hold the PO creation when a material in PO doesn't have a planned price. I used the enhancement MM06E005 and EXIT_SAPMM06E_012 within that. I checked the material planned price and passed an error