 |
BorlandTalk.com Borland discussion newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Augusto Guest
|
Posted: Wed Dec 10, 2003 9:16 pm Post subject: SQL Parser |
|
|
I'm looking forward for a good SQL Parser, that I could change the messages
to portuguese...
In fact, what i'm trying to do is:
build an application that I could write sql in portuguese and the parser
could translate it to original sql language and the error message I could
change to portuguese too!!
Any Ideas??
thanks a lot
Augusto
Atenciosamente
|
|
| Back to top |
|
 |
John Shearing Guest
|
Posted: Thu Dec 11, 2003 7:59 pm Post subject: Re: SQL Parser |
|
|
Hi Augusto,
I have written an application generator for MS SQL Server that features a
Translator and generates TSQL Code.
Please let me know how I can help,
Best, John
The benefits of this system are as follows:
1. The system generates true Client Server and Multi Tier applications.
2. There is zero coding for common functionality, i.e. Adds, Updates,
Deletes, Audit trail, Security, Rolling Down Data, Cascading Deletes,
Posting to General ledger etc.
3. There is zero work of any kind for generation of data entry screens and
their lookups.
4. The back end is completely independent from the front end. You can hit
the database with any application or user interface and still be sure that
you have complete security and valid data.
5. Easy navigation through out the application. The generated user
interface is a familiar modern metaphor with a navigation tree on top or at
the side and data entry screens at the bottom. Also, the generated user
interface remembers customizations to each data entry screen. This allows
you to make sweeping changes to the interface, and regenerate all data entry
screens, without loosing your customizations.
6. Consistent look and feel via OOP Inheritance and code generators.
7. Major changes in look and functionality are made in one place only, and
ripple down to all affected parts of the system without programmer
intervention. Again, this was accomplished with OOP inheritance and also
with code generators.
8. Users to have the ability to create queries and reports on the fly. And
the ability to save and reload those queries and reports in many formats
including Excel and HTML.
9. Users to have complete flexibility in customizing the look and feel of
the system. The extent to which each user can customize the interface must
be seen to be believed. This high level of customizability creates a high
degree of user acceptance.
10. Logical use of hot keys and local popup menus allow for easy mouse free
operation, permitting the user to keep his or her hands on the keyboard, if
the user so desires.
11. All custom code added to generated data entry screens and generated
backend code persists after regeneration.
12. Comes with a business rule generator
13. Comes with a data import utility
14. Comes with a data revalidation utility to use when you change your
business rules.
15 Comes with a translator.
Get all this without programming.
If you need to quickly build feature rich, bug free business applications
for MS SQL Server, then please call (201 665 8906) or write to
[email]johnshearing (AT) aol (DOT) com[/email]
|
|
| Back to top |
|
 |
Augusto Guest
|
Posted: Thu Dec 11, 2003 9:43 pm Post subject: Re: SQL Parser |
|
|
Thanks John
It seams that you have a commercial application!! :)
What I need is to develope one too, but not for commercial purposes!
In my job we work with 3 dbs oracle, db2 and mssql.
So every time we need to write a sproc its a lot of work!!
So if i had some source code in delphi that could parses a new language
created by me, it would speed up our process here.
I accept any help: documentation, source code, a flowchart, etc
Thanks in advance!!
"John Shearing" <johnshearingNoSpamPlease (AT) aol (DOT) com> escreveu na mensagem
news:3fd8cc9d (AT) newsgroups (DOT) borland.com...
| Quote: | Hi Augusto,
I have written an application generator for MS SQL Server that features a
Translator and generates TSQL Code.
Please let me know how I can help,
Best, John
The benefits of this system are as follows:
1. The system generates true Client Server and Multi Tier applications.
2. There is zero coding for common functionality, i.e. Adds, Updates,
Deletes, Audit trail, Security, Rolling Down Data, Cascading Deletes,
Posting to General ledger etc.
3. There is zero work of any kind for generation of data entry screens
and
their lookups.
4. The back end is completely independent from the front end. You can hit
the database with any application or user interface and still be sure that
you have complete security and valid data.
5. Easy navigation through out the application. The generated user
interface is a familiar modern metaphor with a navigation tree on top or
at
the side and data entry screens at the bottom. Also, the generated user
interface remembers customizations to each data entry screen. This allows
you to make sweeping changes to the interface, and regenerate all data
entry
screens, without loosing your customizations.
6. Consistent look and feel via OOP Inheritance and code generators.
7. Major changes in look and functionality are made in one place only,
and
ripple down to all affected parts of the system without programmer
intervention. Again, this was accomplished with OOP inheritance and also
with code generators.
8. Users to have the ability to create queries and reports on the fly.
And
the ability to save and reload those queries and reports in many formats
including Excel and HTML.
9. Users to have complete flexibility in customizing the look and feel of
the system. The extent to which each user can customize the interface must
be seen to be believed. This high level of customizability creates a high
degree of user acceptance.
10. Logical use of hot keys and local popup menus allow for easy mouse
free
operation, permitting the user to keep his or her hands on the keyboard,
if
the user so desires.
11. All custom code added to generated data entry screens and generated
backend code persists after regeneration.
12. Comes with a business rule generator
13. Comes with a data import utility
14. Comes with a data revalidation utility to use when you change your
business rules.
15 Comes with a translator.
Get all this without programming.
If you need to quickly build feature rich, bug free business applications
for MS SQL Server, then please call (201 665 8906) or write to
[email]johnshearing (AT) aol (DOT) com[/email]
|
|
|
| Back to top |
|
 |
John Shearing Guest
|
Posted: Fri Dec 12, 2003 4:42 am Post subject: Re: SQL Parser |
|
|
Hi Augusto,
| Quote: | It seams that you have a commercial application!!
|
Yes, it is a commercial application that took me three years to write, and
so I can not give it away. But my generator does something different than
what you are looking for anyway. I start out by designing my tables,
creating indexes and assigning foreign key relationships. Then I run MS SQL
Server stored procedures against the database that generate other stored
procedures that handle Adds, Updates, Deletes, Validation, Translation,
PostProcessing, Auditing, Rolling down changes, Cascading deletes and so on.
In other words I have TSQL code that writes TSQL code.
I then run Delphi code against the same database that writes a Delphi Pascal
UI.
If I needed to write stored procedures for oracle and db2, then I would use
their own native languages to do so.
But if you are looking for one tool to do everything, you may find one by
searching Google on "Generative Programming"
Many developers use the one tool approach, but I do not, because the result
will be an application that produces what I call "Lowest common denominator
functionality". In other words, you wind up with a product that is not able
to take advantage of the special features of each DB platform that makes it
stand out above the rest. So the result is a product that can do everything,
but can't do anything well.
Even though I can not send you source code, I can send you the generator to
play with, which may give you some idea of what you want to build into your
own.
Let me know how I can help,
John
|
|
| Back to top |
|
 |
Augusto Guest
|
Posted: Fri Dec 12, 2003 11:22 am Post subject: Re: SQL Parser |
|
|
Hi John
I'll appreciate If you could send me one evaluation copy.
I'll see if i could do somenthing like it for the three dbs.
My clients uses your app in this dbs, so I can't work with only one!
Thanks
"John Shearing" <johnshearingNoSpamPlease (AT) aol (DOT) com> escreveu na mensagem
news:3fd9474a (AT) newsgroups (DOT) borland.com...
| Quote: | Hi Augusto,
It seams that you have a commercial application!! :)
Yes, it is a commercial application that took me three years to write, and
so I can not give it away. But my generator does something different than
what you are looking for anyway. I start out by designing my tables,
creating indexes and assigning foreign key relationships. Then I run MS
SQL
Server stored procedures against the database that generate other stored
procedures that handle Adds, Updates, Deletes, Validation, Translation,
PostProcessing, Auditing, Rolling down changes, Cascading deletes and so
on.
In other words I have TSQL code that writes TSQL code.
I then run Delphi code against the same database that writes a Delphi
Pascal
UI.
If I needed to write stored procedures for oracle and db2, then I would
use
their own native languages to do so.
But if you are looking for one tool to do everything, you may find one by
searching Google on "Generative Programming"
Many developers use the one tool approach, but I do not, because the
result
will be an application that produces what I call "Lowest common
denominator
functionality". In other words, you wind up with a product that is not
able
to take advantage of the special features of each DB platform that makes
it
stand out above the rest. So the result is a product that can do
everything,
but can't do anything well.
Even though I can not send you source code, I can send you the generator
to
play with, which may give you some idea of what you want to build into
your
own.
Let me know how I can help,
John
|
|
|
| Back to top |
|
 |
John Shearing Guest
|
Posted: Fri Dec 12, 2003 7:36 pm Post subject: Re: SQL Parser |
|
|
Hi Augusto,
| Quote: | I'll appreciate If you could send me one evaluation copy.
|
I'll be sending it off this evening with instructions for use.
Best, John
|
|
| Back to top |
|
 |
John Shearing Guest
|
Posted: Sat Dec 13, 2003 10:20 pm Post subject: Re: SQL Parser |
|
|
Hi Augusto,
| Quote: | I'll appreciate If you could send me one evaluation copy.
|
Once you have restored the database, you will want to see how the code
generator works.
Using the Enterprise Manager, look at the stored procedures. The ones named
"sp" + MyTableName + ["Add" | "Update" | "Delete"] are generated by the
system.
For example there are 3 stored procedures associated with the Users table.
And they are:
spUsersAdd
spUsersUpdate
spUsersDelete
These procedures are generated by the system, and are the only way to access
the tables unless you are the sa.
This is how business logic is enforced.
If you delete these stored procedures, you can get them back by running the
following script in the Query Analyzer
devBuildAllSprocs "Users"
Give it a try.
There is also another stored procedure associated with the Users table, and
that is:
spUsersValidation. The system can generate this automatically too.
This is the stored procedure where business logic is kept.
When the generator is creating the Add and Update stored procedure,
it looks for spUsersValidation.
If it finds it, it will build a call to it in the Add and Update stored
procedure.
I also have a UI generator that I have not yet sent to you.
This generated UI uses the stored procedures to access the tables.
But you don't need the UI to use the stored procedures.
You can also use the Query Analyzer or Excel, or Access or VB, or Java, or
C++ or anything else that can work with ADO.
For example, you can call spUsersAdd from the Query Analyzer to add yourself
to the Users table.
Here is the call showing the parameters.
EXEC spUsersAdd
@User_ID int = 0 OUTPUT,
@GroupOrUser varchar(1),
@LoginName varchar( ,
@NameAlias varchar(50),
@SettingsPath varchar(200),
@TempFilesPath varchar(200),
@CustomBrowselayoutPath varchar(200),
@CustomEditLayoutPath varchar(200),
@CustomQueryByExamplePath varchar(200),
@Note text,
@AddOrEdit varchar(4),
@ProcessOrigin varchar(200),
@OutputMessage varchar(200) output
And here is the call to add you to the table
Give it a try.
EXEC spUsersAdd
0,
'U'
'aug',
'Augusto',
'MySettingsPath',
'MyTempFilesPath',
'MyCustomBrowselayoutPath',
'MyCustomEditLayoutPath',
'MyCustomQueryByExamplePath',
'This is a note about Augusto',
'Add',
'Query Analyzer',
''
I hope this gives you an idea of how the generator works.
You also expressed an interest in the Translator.
Try this script
DECLARE @MyString VARCHAR(20)
SET @MyString = 'The following word will be changed: Horsefeathers'
EXEC grammarTranslate @MyString
Print @MyString
You will see that the word Horsefeathers has been changed to Pigwings.
You can put Horsefeathers anywhere in the string, and it will be changed to
Pigwings.
Look in the table Translations to see why this has happened.
Please let me know if you have questions or if I can help in any way.
Best, John
|
|
| Back to top |
|
 |
Augusto Guest
|
Posted: Mon Dec 15, 2003 12:00 pm Post subject: Re: SQL Parser |
|
|
John, I didn't receive the demo.
Best, Augusto
"John Shearing" <johnshearingNoSpamPlease (AT) aol (DOT) com> escreveu na mensagem
news:3fdb90ae (AT) newsgroups (DOT) borland.com...
| Quote: | Hi Augusto,
I'll appreciate If you could send me one evaluation copy.
Once you have restored the database, you will want to see how the code
generator works.
Using the Enterprise Manager, look at the stored procedures. The ones
named
"sp" + MyTableName + ["Add" | "Update" | "Delete"] are generated by the
system.
For example there are 3 stored procedures associated with the Users table.
And they are:
spUsersAdd
spUsersUpdate
spUsersDelete
These procedures are generated by the system, and are the only way to
access
the tables unless you are the sa.
This is how business logic is enforced.
If you delete these stored procedures, you can get them back by running
the
following script in the Query Analyzer
devBuildAllSprocs "Users"
Give it a try.
There is also another stored procedure associated with the Users table,
and
that is:
spUsersValidation. The system can generate this automatically too.
This is the stored procedure where business logic is kept.
When the generator is creating the Add and Update stored procedure,
it looks for spUsersValidation.
If it finds it, it will build a call to it in the Add and Update stored
procedure.
I also have a UI generator that I have not yet sent to you.
This generated UI uses the stored procedures to access the tables.
But you don't need the UI to use the stored procedures.
You can also use the Query Analyzer or Excel, or Access or VB, or Java, or
C++ or anything else that can work with ADO.
For example, you can call spUsersAdd from the Query Analyzer to add
yourself
to the Users table.
Here is the call showing the parameters.
EXEC spUsersAdd
@User_ID int = 0 OUTPUT,
@GroupOrUser varchar(1),
@LoginName varchar( ,
@NameAlias varchar(50),
@SettingsPath varchar(200),
@TempFilesPath varchar(200),
@CustomBrowselayoutPath varchar(200),
@CustomEditLayoutPath varchar(200),
@CustomQueryByExamplePath varchar(200),
@Note text,
@AddOrEdit varchar(4),
@ProcessOrigin varchar(200),
@OutputMessage varchar(200) output
And here is the call to add you to the table
Give it a try.
EXEC spUsersAdd
0,
'U'
'aug',
'Augusto',
'MySettingsPath',
'MyTempFilesPath',
'MyCustomBrowselayoutPath',
'MyCustomEditLayoutPath',
'MyCustomQueryByExamplePath',
'This is a note about Augusto',
'Add',
'Query Analyzer',
''
I hope this gives you an idea of how the generator works.
You also expressed an interest in the Translator.
Try this script
DECLARE @MyString VARCHAR(20)
SET @MyString = 'The following word will be changed: Horsefeathers'
EXEC grammarTranslate @MyString
Print @MyString
You will see that the word Horsefeathers has been changed to Pigwings.
You can put Horsefeathers anywhere in the string, and it will be changed
to
Pigwings.
Look in the table Translations to see why this has happened.
Please let me know if you have questions or if I can help in any way.
Best, John
|
|
|
| Back to top |
|
 |
John Shearing Guest
|
Posted: Mon Dec 15, 2003 7:27 pm Post subject: Re: SQL Parser |
|
|
Hi Augusto
| Quote: | John, I didn't receive the demo.
|
Please send an email to [email]johnshearing (AT) aol (DOT) com[/email]
This way I will have a valid address to work with.
Best, John
|
|
| Back to top |
|
 |
Paul Linehan Guest
|
Posted: Mon Dec 15, 2003 7:54 pm Post subject: Re: SQL Parser |
|
|
[email]johnshearingNoSpamPlease (AT) aol (DOT) com[/email] says...
| Quote: | John, I didn't receive the demo.
Please send an email to [email]johnshearing (AT) aol (DOT) com[/email]
|
Yes, but now spammers now have a valid email to work with for your
address!
Paul...
--
plinehan x__AT__x yahoo x__DOT__x com
C++ Builder 5 SP1, Interbase 6.0.1.6 IBX 5.04 W2K Pro
Please do not top-post.
|
|
| Back to top |
|
 |
Tony J Hopkinson Guest
|
Posted: Mon Dec 15, 2003 10:41 pm Post subject: Re: SQL Parser |
|
|
On Mon, 15 Dec 2003 19:54:15 -0000, Paul Linehan
<paul (AT) not (DOT) a.chance.ie> wrote:
| Quote: |
[email]johnshearingNoSpamPlease (AT) aol (DOT) com[/email] says...
John, I didn't receive the demo.
Please send an email to [email]johnshearing (AT) aol (DOT) com[/email]
Yes, but now spammers now have a valid email to work with for your
address!
Paul...
Best, John
|
Well at least he can look forward to the offer off being more well
endowed for xmas.
Also he may feel as left out as I did because he doesn't have a reason
to buy a sceptic tank either.
|
|
| Back to top |
|
 |
John Guest
|
Posted: Wed Dec 17, 2003 6:17 am Post subject: Re: SQL Parser |
|
|
Hi Paul,
| Quote: | Yes, but now spammers now have a valid email to work with for your
address!
|
I really don't think spam is such a big problem. I just delete the
ones that look unfamiliar.
A much greater problem to me is that spam is more interesting for you
to talk about then generative programing.
I can think of two reasons for this.
1. You have never worked with an application generator before,
or
2. You have worked with an application generator.
My guess is that you probably have.
The application generators of the 1980s would only take the developer
so far. Maybe a data entry screen that could read and write to a
table. But once the developer put in some custom code it was no longer
possible to regenerate the form because all the customizations would
be lost. This made the generator useless for changes and maintenance
which I hear is 80% of the cost of owning an app.
But this generator is different. It remembers all customizations to
the UI and to the back end. This now gives the developer access to the
generator for the full life cycle of the application.
I hope you can see the significance of this and find generative
programing more interesting.
Best to you,
John
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|