473,889 Members | 1,327 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

tough choices

Hello:
We are designing two multi-user client server applications that
performs large number of transactions on database servers. On an
average Application A has a 50% mix of select and update/insert/delete
statements and application B has 80-20 mix of select and
update/insert/delete statements. Being able to scale the databases as
needed so the performance is unaffected, is one of our critical
requirements. We've been investigating Oracle 10g RAC and DB2 ESE as
alternatives and in both cases unfortunately, we get a lot more
marketing spin than real answers. I've looked through some of the
newsgroup postings on oracle and ibm's websites and most of the
discussions seem to be about high availability(an d technology
evangelism). The information we've gathered so far seems to point to:

1. The critical factor (and possibly the bottleneck) for Oracle's RAC
performance is the network and the storage access speed- if the
network does not have ample unused bandwidth or the rate at which
storage can be accessed by various nodes has reached the point of
diminishing returns - we won't get any additional performance by
simply increasing the number of nodes. Also, the application that
performs more writes will hugely increase the network traffic because
of synchronization requirements.

2. DB2 can deliver better performance but only if the data that is
accessed together is physically laid out together and the application
has knowledge of the physical data layout (so it can connect to the
right node in the cluster ). However, if, we separate the application
logic from physical layout of the data the performance will be
unpredictable.

All this is just hypotheses - if anyone has some real world experience
with these two offerings and can offer an objective opinion - we'd
really appreciate it.
Nov 12 '05
198 11617
Serge Rielau apparently said,on my timestamp of 25/06/2004 3:12 AM:
Yes, webservices also fall into this.
If two webservices come from the same source and they are correlated in
some form. Can the correlation be pushed to the source?


I guess not. I mean: in terms of optimisation there are advantages
in doing so of course. But you lose the flexibility inherent in
externalizing the service definitions. What is needed IMHO is a way
of speeding up the interpretation of web services requests and their
interpretation by the local source.

Currently, the XML everywhere idea works. But is not very efficient.
I guess a layer that deals with the requests should also be intelligent
enough to pass them along to the local source in a format that needs
no interpretation. "pre-parsed", if you excuse the terminology.

Then it can be scaled: need faster interpretation? Add more local
handlers. That sort of thing. Fascinating stuff, really.

--
Cheers
Nuno Souto
wi*******@yahoo .com.au.nospam
Nov 12 '05 #171

"Serge Rielau" <sr*****@ca.e ye-be-em.com> wrote in message
news:cb******** **@hanover.toro lab.ibm.com...
Howard J. Rogers wrote:
"Serge Rielau" <sr*****@ca.e ye-be-em.com> wrote in message
news:cb******** **@hanover.toro lab.ibm.com...
>>>* Security Policies (policies attached to tables and views that
determine what rows can be accessed based on information known about theuser)

Can be handled with views. Let the DBMS do what the DBMS does best.

Mark can answer for himself, but no this sort of thing can't reasonably be handled with views. I have a sales table. I want customers to access it... but they must only see their own rows. If all I've got are views, I've got to create a different view for each user. And change my application so it references the right view at the right time as new views are added because new customers are acquired. Views just won't cut it.

RLS (VPD) ((FGAC)) (((!!!!))) means the app can issue one SQL statement, and the optimiser will re-write it, depending on who you are, where you're
querying from, any other attributes I care to capture about you as you log on. And because the optimiser is re-writing the query, I don't have to
modify my application code. And yes, you're right: the DBMS does this, and does it best... if I need to change the way it all works, I can change a
policy on the back-end, not modify my code in the application.

I don't buy the part about the view having to change.
The view is "parameteri zed" with session level credential. In DB2 this
could, for example be the USER register as used in my example.
With table based row level access control the DBMS also must look up
these credentials.
The difference is to bury them or to expose them.


Maybe. I don't know enough about DB2 views to comment one way or another.
All I would say is that the RLS policy is extremely flexible, because you
code it whatever way you want. If you want it to test for username coming
from a specific IP address on alternate Thursdays after 5.00pm, you can do
so. Where it starts getting very clever indeed is where I can write multiple
policies for the one table that can be ANDed or ORed as you choose. And you
can have a default policy to apply as well or instead of. That is, I think,
what Mark meant by 'partitioned fine grained access control'. I can have one
table, call it SALES. I have customers who I want to be able to select
particular rows based on their customer code. I also have salesmen, who I
want to be able to select particular rows based on sales region. Two
completely different sorts of where predicates to apply; two completely
different types of session level credentials to be checked; one table, two
bits of quick PL/SQL, effectively, and it's done. Now imagine a table with
half a dozen different possible audiences, and hence half a dozen different
possible policies to apply depending on which way the wind was blowing at
the time... that is not something that views (Oracle views, at least) would
make very easy to do. If they could do it at all, there would be a mammoth
effort required at the point of view definition to juggle all the possible
variables and permutations. That would be difficult code to maintain. It's
inflexible, and it wouldn't scale.
I recall a debate with Daniel (or Nuno?) about when to use "global
varibales" in views and when not. Thsi a case where I believe it is proper. In a way that makes views even MORE flexible because all the power of
SQL is available to enforce the semantics I want.
I'm no developer. Maybe your powers of SQL writing are better than mine (it
wouldn't surprise me!). But what RLS can do, no embedding of global
variables in Oracle views can match.
I agree that changing the semantics is more cumbersome in the DB2 case
at present due to the pain of view-evolution. In Oracle the pain is not
so prevalent because of automatic revalidation.
Which makes the difference whether a change in policy on the table
feature causes a loss of the cached plans or not.
(hmmm. can I change the policy in the midst of someones transaction?)


I doubt it, but I've never done it to check. I smell the breakable parse
lock in the neighbourhood!!

Cheers,
HJR
Nov 12 '05 #172
I'd be curious as to what % of Oracle customers use each one of these.
There are very few that I've heard as requirements from customers. But
perhaps we are just talking differences in nomenclature and semantics
from what I have heard.

Larry Edelstein

Mark Townsend wrote:
Ian wrote:

Can you list the specific security features that are provided with the
base Oracle product that are missing from DB2 UDB for LUW?


I'm presuming DB2 has column encryption, roles, system and object
privileges, GRANT/DENY privileges, basic auditing etc. So I think that
leaves

* Enterprise Users (password authenticated, requires an LDAP directory)
* Schema Independent Users
* Security Policies (policies attached to tables and views that
determine what rows can be accessed based on information known about the
user)
* Secure Application Contexts (the afore mentioned user information,
which cannot be spoofed)
* Global Application Contexts (same again, this time shared across
multiple connections)
* Relevant Column Enforcement (applies security policy only when query
accesses named columns)
* Relevant Column Masking (all rows are returned, but relevant columns
are masked (hidden) according to security policy)
* Partitioned Fine Grained Access Control (allows multiple security
policies to be applied to the same table, information about the user
determines which policy is applied)
* Proxy Authentication - allows a user identity on a client to be
securely proxied through a middle tier, without the need for the middle
tier to know the users security credentials (password etc).
* Audit Policies (similar to security polcies, in that they are specific
to what the user trys to access, and that they fire an audit event)
* Audit trails that include what data the user saw at the time they
performed the operation (uses Flashback if the row has since been
changed, deleted, etc)
* Administrator Audit Trails - an audit trail of what the DBA did that
the DBA etc cannot see.
* Proxied User Audit Trails - an audit trail that shows what a client
did via a middle tier proxy.

Last but not least, 10 independent security certifications (over
multiple releases).

Note that this is just the base EE product - the Advanced Security
Option, and Label Security, extends this list of features (and
certifications) even further.


Nov 12 '05 #173
Sigh...

Serge Rielau wrote:
Mark Townsend wrote:

<snip>

* Schema Independent Users


Is that just what it says? DB2 UDB for LUW has only one connection
between Schema and User: The default setting of the CURRENT SCHEMA
register upon login. Users may not have the right to create schemata
(including one with their own name) depending on the CREATE SCHEMA
privilege.


This may be specific to Oracle - basically, its info in the directory
that says to "connect me to the HR schema rather than my own" on logon
* Security Policies (policies attached to tables and views that
determine what rows can be accessed based on information known about
the user)


Can be handled with views. Let the DBMS do what the DBMS does best.


For simple cases, views will work, especially if they are parameterized.
For more complex cases, security policies are easier.

However, the real difference is that a security policy cannot be
bypassed - in the view scenario, if the user does get access to the base
tables, they can bypass the view. With security policies, the user can
never bypass it. And this then gets really important in compliance
environments.

<snip>
* Relevant Column Enforcement (applies security policy only when query
accesses named columns)


I get less rows if I refer to a protected column? Never heard of that
requirement before...


New in Oracle Database 10g (I think, may have sneaked in in Oracle 9i
Release 2)
* Relevant Column Masking (all rows are returned, but relevant columns
are masked (hidden) according to security policy)


Views, relying on join-elimination, unused column drop.


Solving a different problem. Let's say I can see all employee
information, but my company doesn't want me to see Larry's actual
salary. When I query for rows, I get Larry's info, but his salary column
is masked. I get everybody elses salaries however, so you can't drop the
column from the report.
* Partitioned Fine Grained Access Control (allows multiple security
policies to be applied to the same table, information about the user
determines which policy is applied)


Like security clearances? Views again...


We added this after we saw people using these capabilities for
consolidation. 500 companies all hosted in the same database, all using
the same schema. However, each company want their own specific security
rules for their data. You can't glom them together into the same policy,
so we allow multiple policies to be applied (sort of like having
multiple triggers instead of one large trigger)
How does Oracle enforce? Hooks in runtime (like procedure calls) or
"implicit views"? The first would be unfortunate since it would takes
the optimizer out of the picture, cardinalities get messed up, join
choices taken away.


Query gets re-written at run time. Optimizer still in picture

Nov 12 '05 #174
"Howard J. Rogers" <hj*@dizwell.co m> wrote in message news:<40******* *************** *@news.optusnet .com.au>...
"Serge Rielau" <sr*****@ca.e ye-be-em.com> wrote in message
news:cb******** **@hanover.toro lab.ibm.com...

* Security Policies (policies attached to tables and views that
determine what rows can be accessed based on information known about the
user)

Can be handled with views. Let the DBMS do what the DBMS does best.


Mark can answer for himself, but no this sort of thing can't reasonably be
handled with views. I have a sales table. I want customers to access it...
but they must only see their own rows. If all I've got are views, I've got
to create a different view for each user. And change my application so it
references the right view at the right time as new views are added because
new customers are acquired. Views just won't cut it.


I wouldn't dispute that FGAC is a better way to achieve this, but it
isn't true that if you used views you would need a view per user.
Long ago in Oracle 7 I worked on a project that implemented access
control via views that looked something like:

create view emp_view as
select * from emp
where deptno in
( select deptno
from users
where username = USER
);

Only one view was required per table. Of course, the predicate was
actually rather more complex than that, but you should get the idea.
Nov 12 '05 #175
Correct, LDAP authentication through a security exit is in Stinger. Same
with PAM and kerberos.

Serge Rielau wrote:

* Enterprise Users (password authenticated, requires an LDAP directory)


Don't know, can't comment, there's some stuff in Stinger. DB2 in general
operates via user-exits in this space. Blair may know.


Nov 12 '05 #176
"Howard J. Rogers" <hj*@dizwell.co m> wrote in message news:<40******* *************** *@news.optusnet .com.au>...
"Serge Rielau" <sr*****@ca.e ye-be-em.com> wrote in message
news:cb******** **@hanover.toro lab.ibm.com...

* Security Policies (policies attached to tables and views that
determine what rows can be accessed based on information known about the
user)

Can be handled with views. Let the DBMS do what the DBMS does best.


Mark can answer for himself, but no this sort of thing can't reasonably be
handled with views. I have a sales table. I want customers to access it...
but they must only see their own rows. If all I've got are views, I've got
to create a different view for each user. And change my application so it
references the right view at the right time as new views are added because
new customers are acquired. Views just won't cut it.

RLS (VPD) ((FGAC)) (((!!!!))) means the app can issue one SQL statement, and
the optimiser will re-write it, depending on who you are, where you're
querying from, any other attributes I care to capture about you as you log
on. And because the optimiser is re-writing the query, I don't have to
modify my application code. And yes, you're right: the DBMS does this, and
does it best... if I need to change the way it all works, I can change a
policy on the back-end, not modify my code in the application.
* Secure Application Contexts (the afore mentioned user information,
which cannot be spoofed)
* Global Application Contexts (same again, this time shared across
multiple connections) Can't comment, don't know. * Relevant Column Enforcement (applies security policy only when query
accesses named columns)

I get less rows if I refer to a protected column? Never heard of that
requirement before...


Neither have I actually! Fine-grained auditing certainly creates an audit
record if you view particular column data, but it doesn't actually stop you
seeing it.
* Relevant Column Masking (all rows are returned, but relevant columns
are masked (hidden) according to security policy) Views, relying on join-elimination, unused column drop. * Partitioned Fine Grained Access Control (allows multiple security
policies to be applied to the same table, information about the user
determines which policy is applied)

Like security clearances? Views again...


Again, no. Views would be too static, too complex, too many of them, not
flexible enough.
* Proxy Authentication - allows a user identity on a client to be
securely proxied through a middle tier, without the need for the middle
tier to know the users security credentials (password etc).
* Audit Policies (similar to security polcies, in that they are specific
to what the user trys to access, and that they fire an audit event) Can't comment, don't know * Audit trails that include what data the user saw at the time they
performed the operation (uses Flashback if the row has since been
changed, deleted, etc)

Uhm... but flashback is only good for a short time, right? There is no
guarantee the flashback is still available (?)


UNDO_RETENTION. It's as good as a guarantee, provided only you aren't stingy
with your undo tablespace.
* Administrator Audit Trails - an audit trail of what the DBA did that
the DBA etc cannot see.
* Proxied User Audit Trails - an audit trail that shows what a client
did via a middle tier proxy.

Last but not least, 10 independent security certifications (over
multiple releases). I'm not going to get into that one....
Note that this is just the base EE product - the Advanced Security
Option, and Label Security, extends this list of features (and
certifications) even further.


IMHO a lot of the finegrained access control part tastes like syntacic
sugar.
Complexity gets shifted from a view definition to the table DDL (it's
got to be modeled somewhere).


No, the complexity is contained within the security policy definitions. The
table DDL itself is unchanged.

It's really rather neat, actually.
How does Oracle enforce?


On RLS, by re-writing the query at parse time. By appending a where clause
that the application itself didn't issue.

Regards
HJR


i'm in the process of implementing this in a piece of software which is
truly weird, but uses oracle (and db2, but thankfully not at this
customer). since i despise both the semantics and syntax of BottleFutz,
i dreaded having to find another job. to my rescue came FGAC. it
does work as advertised. i don't need to write BottleFutz code. the
security functionality can be sold off to other BottleFutz customers
who are on oracle (with just a few edits) and never touch that code.

the only glitch that's come up (today, of course) is that dropping a
package doesn't drop the policy functions attached to it (no cascade
delete). so when i changed the policy name from Test to Real_Name, ran
my drops with the Real_Name, and got 28110 error. turns out, there
was a row left in SYS.DBA_POLICIE S with the package name and the old
policy name. ran the drop policy script.

it really is pretty slick. and has the advantage of being able to
say to clients: "security can't be subverted by crystal reports".

robert
Nov 12 '05 #177

"Tony" <an******@onete l.net.uk> wrote in message
news:c0******** *************** ***@posting.goo gle.com...
"Howard J. Rogers" <hj*@dizwell.co m> wrote in message

news:<40******* *************** *@news.optusnet .com.au>...
"Serge Rielau" <sr*****@ca.e ye-be-em.com> wrote in message
news:cb******** **@hanover.toro lab.ibm.com...

> * Security Policies (policies attached to tables and views that
> determine what rows can be accessed based on information known about the > user)
Can be handled with views. Let the DBMS do what the DBMS does best.


Mark can answer for himself, but no this sort of thing can't reasonably be handled with views. I have a sales table. I want customers to access it... but they must only see their own rows. If all I've got are views, I've got to create a different view for each user. And change my application so it references the right view at the right time as new views are added because new customers are acquired. Views just won't cut it.


I wouldn't dispute that FGAC is a better way to achieve this, but it
isn't true that if you used views you would need a view per user.
Long ago in Oracle 7 I worked on a project that implemented access
control via views that looked something like:

create view emp_view as
select * from emp
where deptno in
( select deptno
from users
where username = USER
);

Only one view was required per table. Of course, the predicate was
actually rather more complex than that, but you should get the idea.

Right. Now, what about If the user is this sort of customer, he's allowed to
look at those sorts of rows and columns, but if he's this other type of
customer, he can see a different selection of rows and columns. And I want
to test for his IP address as well as his username. And 12 other conditions
as well. And I have other users of the table who aren't customers, but who
access the same table, and should have a completely different sort of where
clause applied. And I'm not entirely sure what the future may bring, but I
suspect there will be even more, distinct, 'consumer groups' for this table
in the future....

Do-able in one view? Maybe. I wouldn't like to see the code at the end of it
though, and you'd better not get run over by a bus, since you're the only
one that really understands it. I certainly think as the complexity
increases, the single view ceases to be a viable option.

Then there's the point I missed by I see others have made: If I can hack
into your box, I can see all the rows of the table. If you can hack into
mine, the FGAC policies still apply, and you can't see any more than you
could by using the front-end application.

Regards
HJR
Nov 12 '05 #178
Here goes:
In DB2 UDB for LUW, the is and password are always authenticated by the
OS. I include here any add ons like LDAP support, Kerberos, ...
The instance configuration on the server can specify where this
authentication is done. See AUTHENTICATION (client, server, with or
without encryption.)

Once verified, one can choose to have group memberships identified
locally on the DB server or by a Domain server where the id was
authenticated.

From there on, DB2 takes over with DB, Object, Application security by
using the GRANT command with or without grant option.
The grant command can grant to one or more specific id, group or to a
special group called PUBLIC. Public includes any id that comes back
authenticated by the os.

Look at the following database catalog tables SYSDBAUTH, SYSTABLEAUTH,
SYSVIEWAUTH,SYS INDEXAUTH, SYSPACKAGEAUTH and so on.
They will have rows showing the object name, the grantor id, the grantee
id(group or specific) as well as the typw of access (For tables, it
would show insert,or update (all columns or selected columns) or select
or delete or references or......

One DB privilege is implicit_schema which grants one to create objects
(if one has been granted them) using any schema name.
Another priviliege is o have createin,alteri n,dropin in a specific
schema. And yes, this can be granted to an id or a group.

So an id and/or a group can a multiple different types of privileges on
one or more schema or objects at any point in time.

These privileges are verified at connect (which is aprivilege of itself)
time once and only once to determine what and at which level is this
id and the groups to which it may belong can or cannot do.

HTH, Pierre.

Noons wrote:
Larry apparently said,on my timestamp of 24/06/2004 12:04 PM:
Specifically in the index area, DB2 UDB provides the ability to grant
the privilege to create an index on a table, or an index specification
on a nickname.

I was talking about grants for access to objects. Administrative grants
are a completely different thing.

No. Just GRANT required priviledge to group OZZIE via GRANT statement.

Hmmm OK. Didn't look that way when I looked at it, but I'm willing to
admit I didn't get all the details.
One can GRANT schema priviledges, and GROUP can be specfied in that
GRANT statement.

Yes, but can that group have privileges to portions of various
schemas simultaneously?
Don't know what versions deserve the name of UDB. But I am talking
about DB2 UDB for Intel/UNIX/Linux.

Thanks. That makes it clear for me.


--
Pierre Saint-Jacques - Reply to: sesconsjunk at attglobaljunk dot com
Reconstruct address: Remove the two junk and replace at and dot by
their symbols.
IBM DB2 Cerified Solutions Expert - Administration
SES Consultants Inc.

Nov 12 '05 #179
On Fri, 25 Jun 2004, La***@nospam.ne t wrote:
I'd be curious as to what % of Oracle customers use each one of
these. There are very few that I've heard as requirements from
customers. But perhaps we are just talking differences in
nomenclature and semantics from what I have heard.


We use security policies extensively on 9i. Didn't know we could
slice and dice columns as well. That would be very useful. I'll
have to find it in the docs. Looks like they might be only 10G?

--
Galen Boyer
Nov 12 '05 #180

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
3006
by: Mica Cooper | last post by:
Hi, I have a series of Select menus on a page. I am trying to allow the user to click on the Select title and have it popup a help window. This works fine with the following code except that all the Select choices are lost. <A HREF="javascript:location='menu.jsp';window.open('menuhelp.jsp?menuID=5','me nuhelp',)">MenuTitle</A> I saw an example of a popup on a website that did not lose the menu choices.
4
1324
by: frank | last post by:
Hi there. Before anyone gripes about cross posting, Ill say upfront that I just posted this message to am SQL server newsgroup because I want feedback from database developers as well as asp coders... I want to create a web based software rating database. I have a number of objectives that I would need to achieve to make this a useable tool and some are not easy figure out considering my begginning level of db and asp knowledge. I am...
6
1739
by: apngss | last post by:
When an application needs to get information from another machine over the network, how many distributed computing choices out there? Here are the choices I know of, classifying by different programming languages HTTP (any??) RPC (C, C++) ..NET (Microsoft)
6
1537
by: Kennedy_f | last post by:
I did better in terms of score on this one than 291, but I found it much harder. Wordings of questions are difficult like the rest, but the DNS and CA scenarios were very tough to figure out. Take your time on the questions. I used uecrtify exam simulation. Make sure you know exactly what they are asking for and think it through. You will not pass unless you have experience with the product and have done a lot of prep work. Read the...
9
1692
by: Rhino | last post by:
How hard (and desireable) would it be to give the user certain choices when it comes to printing web pages? The pages on my site use colours and pictures and contain an imbedded menu, among other things. Now, I could make certain assumptions on the user's behalf, such as making the background white and the text black, suppressing the menu from the printed page, and even suppressing the printing of the pictures if they are merely...
2
1578
by: Tedros.G | last post by:
Okay this is a slightly tricky one for us newbies, butI'm guessing it'll be breeze for ou experts! Problem: You recieve a xml message which conforms to a common schema. Everything is great and your clients (who send you their data based on this agreed schema), do everything works as agreed and planned. Over the next few months a few clients suddenly decide to add extra nodes, therby breaking the schema validation. Then another client...
4
1917
by: wideasleep | last post by:
Hello everyone, I am looking for a way to remove choices from cascading combo boxes as each selection is made. Here's how this is laid out. The initial combo box is STAGE and it will have choices STAGE1, STAGE2, STAGE3 and that will cascade to the CODE combo box. The CODE selections will also have lb. amounts for each code item. For example purposes here's the layout for the STAGE choices in the CODE combo box and use your imagination...
5
2050
by: vajra1987 | last post by:
Hello everybody I am working on a Website built on JSP and Servlets . one of the features of the site is to give user the chance to subscribe to different newsletters under different categories. So for example, user1 surfs to the page which displays category sport and under that some options (check boxes) and he can choose zero or more, and he clicks to add the next catetory options , for example entertainement. I am new at Java and...
1
1531
by: jej1216 | last post by:
Background: I have an PHP form that inserts data into a MySQL DB, and it works. Severity of Incident: <select name="severity" size="1"> <option value="">Select a Severity Option</option> <option value="Level1 - No Obvious Harm">Level 1 - No Obvious Harm</option> <option value="Level2 - Non-permanent Harm">Level 2 - Non-permanent Harm</option> <option value="Level3 - Semi-permanent Harm">Level 3 - Semi-permanent Harm</option> <option...
0
9961
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
11188
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10789
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
10441
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7993
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6028
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4647
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4251
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3255
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.