2007年3月18日 星期日

Ten Common Database Design Mistakes

the list:
  1. Poor design/planning
  2. Ignoring normalization
  3. Poor naming standards
  4. Lack of documentation
  5. One table to hold all domain values
  6. Using identity/guid columns as your only key
  7. Not using SQL facilities to protect data integrity
  8. Not using stored procedures to access data
  9. Trying to build generic objects
  1. Lack of testing
http://www.simple-talk.com/sql/database-administration/ten-common-database-design-mistakes/

Spring + Hibernate Cache Implementation

If you do not configure the xml file, then you will get some warning message just like this:
Could not find configuration [org.hibernate.cache.UpdateTimestampsCache]; using defaults.
Could not find configuration [org.hibernate.cache.StandardQueryCache]; using defaults.

If you are interested this topic, you can check this link:
http://community.csdn.net/Expert/TopicView3.asp?id=4685637

ORA-12519, TNS:no appropriate service handler found

Scenario

My application will throw the ORA-12519, TNS:no appropriate service handler found error message, as the application is working for awhile. The complete exception message is as belows:

javax.servlet.ServletException: Hibernate operation: Cannot open connection; uncategorizedSQLException for SQL [???]; SQL state [null]; error code [0]; Listener refused the connection with the following error:
ORA-12519, TNS:no appropriate service handler found
The Connection descriptor used by the client was:
localhost:1521:XE
; nested exception is java.sql.SQLException: Listener refused the connection with the following error:
ORA-12519, TNS:no appropriate service handler found
The Connection descriptor used by the client was:
localhost:1521:XE

Solution

Go to modify the init.ora this script file. Modify job_queue_processes this value.
###########################################
# Job Queues
###########################################
job_queue_processes=200

As you finish it, you HAVE to restart the oracle service.
You can use this sql statement to check if your configuration is in effect or not.
select value from v$parameter where name = 'processes';

2007年3月8日 星期四

Oracle JDBC FAQ

This document contains answers to the most frequently asked questions about Oracle's JDBC drivers. Note that these address specific technical questions only and are used to document solutions to frequent customer questions as well as any known problems. The server docs (including JDBC doc) are also available online.

Note that this FAQ contains information about all released versions of the Oracle JDBC drivers. Anything that is not described as pertaining only to certain versions should pertain to all the versions. Or to the current version. At the time the question was asked.


http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm

How to generate mData

Steps.
1. open rose
2. Tools --> Windchill --> System Generation
3. Click OK

Troubleshoot
It may show generation refuse error in the progress of system generation
Error: wt.templateutil.processor.DefaultTemplateProcessor is not Extendable, so cannot extend it.

Solution
1. Open user.properties (under /Codebase)
2. add one attribute wihch named
wt.generation.overrideNonExtendableClasses, and add classes which we want to do extend. If we have multiple classes need to do extend, sperate them by comma.
ex. wt.generation.overrideNonExtendableClasses=wt.templateutil.processor.DefaultTemplateProcessor,wt.templateutil.processor.FormTaskDelegate

After you add them to user.properties, you can see this kind of warning message, it means you had successfully finished system generation.
Warning: wt.templateutil.processor.DefaultTemplateProcessor is not Extendable, but is being allowed as a backward compatible override

Top 15 Ant Best Practices

http://www.onjava.com/pub/a/onjava/2003/12/17/ant_bestpractices.html

1. Adopt Consistent Style Conventions
2. Put build.xml in the Project Root Directory
3. Prefer a Single Buildfile
4. Provide Good Help
5. Provide a Clean Target
6. Manage Dependencies Using Ant
7. Define and Reuse Paths
8. Define Proper Target Dependencies
9. Use Properties for Configurability
10. Keep the Build Process Self-Contained
11. Use Version Control
12. Use Ant as the Least Common Denominator
13. Use zipfileset
14. Perform the Clean Build Test
15. Avoid Platform-Specific Ant Wrappers

How to reset auto-increment column in MySQL

utilize this command: ALTER TABLE $table AUTO_INCREMENT = 1
ex. ALTER TABLE bugs.bugs AUTO_INCREMENT = 1

Diff and Merge Tool -- WinMerge

http://winmerge.org/

WinMerge is an Open Source visual text file differencing and merging tool for Win32 platforms. It is highly useful for determing what has changed between project versions, and then merging changes between versions.

Features

  • Visual differencing and merging of text files
  • Flexible editor with syntax highlighting, line numbers and word-wrap
  • Handles DOS, UNIX and MAC text file formats
  • Unicode support
  • Difference pane shows current difference in two vertical panes
  • Location pane shows map of files compared
  • Highlights differences inside lines in file compare
  • Regular Expression based file filters in directory compare allow excluding and including items
  • Moved lines detection in file compare
  • Creates patch files
  • Shell Integration (supports 64-bit Windows versions)
  • Rudimentary Visual SourceSafe and Rational ClearCase integration
  • Archive file support using 7-Zip
  • Plugin support
  • Localizable interface via resource DLL
  • Online manual and installed HTML Help manual