# Setting Derby properties

This section covers the different ways of setting properties.

- Setting system-wide properties
  You can set system-wide properties programmatically (as a command-line option to the JVM when starting the application or within application code) or in the text file derby.properties.
- Setting database-wide properties
  Database-wide properties, which affect a single database, are stored within the database itself. This allows different databases within a single Derby system to have different properties and ensures that the properties are correctly retained when a database is moved away from its original system or copied.
- Setting properties in a client/server environment
  In a client/server environment, you must set the system properties for the server's system. That means that when you are using the derby.properties file, the file exists in the server's derby.system.home directory. Client applications can set database-wide properties because they are set via SQL statements.
- Making dynamic or static changes to properties
  Properties set in the derby.properties file and on the command line of the application that boots Derby are always static, because Derby reads this file and those parameters only at startup.

Parent topic: Working with Derby properties
Related concepts
Properties overview
Properties case study