Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • System Modeler

    Multidomain modeling and simulation of complex systems

  • Compute ServicesUse with Mathematica and Wolfram|One
  • AI AccessUse with Mathematica and Wolfram|One
  • Finance Platform
  • Wolfram|Alpha Notebook Edition
  • Application Server
  • Enterprise Private Cloud
  • Wolfram Engine
  • Wolfram Player
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Wolfram|Alpha

  • Wolfram|Alpha Website
  • Wolfram|Alpha APIs

AI Products

  • Wolfram AI Ecosystem
  • Wolfram Foundation Tool
  • Wolfram Cloud MCP
  • Wolfram Local MCP
  • Agent One API
  • CAG Component APIs

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • Linguistic Understanding

Additional Deployment Options

  • Wolfram Cloud
  • Wolfram Web Engine
  • wolframscript
  • WSTPServer
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

Wolfram Consulting

Data Science, Finance & Business

  • Artificial Intelligence
  • Data Science
  • Healthcare
  • Real Estate

Engineering

  • Civil Engineering
  • Automotive Engineering
  • Sustainable Energy

Science & Technology

  • AgTech
  • Biosciences
  • Environmental Science
  • Food Science
  • Quantum Computation
  • Social and Behavioral Sciences

More Wolfram Solutions

Technology for Education

  • Research Universities
  • Colleges & Teaching Universities
  • High Schools
  • Resources for Students

Education Initiatives

  • Next-Gen EdTech
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
For AIs
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • System Modeler
    • Compute ServicesUse with Mathematica and Wolfram|One
    • AI AccessUse with Mathematica and Wolfram|One
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Application Server
    • Enterprise Private Cloud
    • Wolfram Engine
    • Wolfram Player
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Wolfram|Alpha
      • Wolfram|Alpha Website
      • Wolfram|Alpha APIs
    • AI Products
      • Wolfram AI Ecosystem
      • Wolfram Foundation Tool
      • Wolfram Cloud MCP
      • Wolfram Local MCP
      • Agent One API
      • CAG Component APIs
    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • Linguistic Understanding
    • Additional Deployment Options
      • Wolfram Cloud
      • Wolfram Web Engine
      • wolframscript
      • WSTPServer
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions
    • Wolfram Consulting

    Data Science, Finance & Business

    • Artificial Intelligence
    • Data Science
    • Healthcare
    • Real Estate

    Engineering

    • Civil Engineering
    • Automotive Engineering
    • Sustainable Energy

    Science & Technology

    • AgTech
    • Biosciences
    • Environmental Science
    • Food Science
    • Quantum Computation
    • Social and Behavioral Sciences

    More Wolfram Solutions

    Technology for Education

    • Research Universities
    • Colleges & Teaching Universities
    • High Schools
    • Resources for Students

    Education Initiatives

    • Next-Gen EdTech
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • For AIs
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
OpenSQLConnection
  • See Also
    • CloseSQLConnection
    • SQLConnections
    • SQLConnection
    • SQLConnectionOpenQ
  • Related Guides
    • DatabaseLink Connections and Resources
    • DatabaseLink SQL Operations
  • Tech Notes
    • DatabaseLink User Guide
    • Database Connections in DatabaseLink User Guide
    • Establishing a Connection in DatabaseLink User Guide
    • Transactions
    • Connection Pools
    • See Also
      • CloseSQLConnection
      • SQLConnections
      • SQLConnection
      • SQLConnectionOpenQ
    • Related Guides
      • DatabaseLink Connections and Resources
      • DatabaseLink SQL Operations
    • Tech Notes
      • DatabaseLink User Guide
      • Database Connections in DatabaseLink User Guide
      • Establishing a Connection in DatabaseLink User Guide
      • Transactions
      • Connection Pools

OpenSQLConnection[src]

makes a connection to a named data source.

OpenSQLConnection[JDBC[…]]

makes a connection to a data source described by a JDBC object.

OpenSQLConnection[]

opens a GUI for creating and managing named data sources.

Details and Options
Details and Options Details and Options
Examples  
Basic Examples  
Options  
"Username"  
"Password"  
"Catalog"  
Show More Show More
"Properties"  
"ReadOnly"  
"RelativePath"  
"Timeout"  
"TransactionIsolationLevel"  
"UseConnectionPool"  
"AutoCommit"  
Possible Issues  
See Also
Tech Notes
Related Guides
DATABASELINK SYMBOL
  • See Also
    • CloseSQLConnection
    • SQLConnections
    • SQLConnection
    • SQLConnectionOpenQ
  • Related Guides
    • DatabaseLink Connections and Resources
    • DatabaseLink SQL Operations
  • Tech Notes
    • DatabaseLink User Guide
    • Database Connections in DatabaseLink User Guide
    • Establishing a Connection in DatabaseLink User Guide
    • Transactions
    • Connection Pools
    • See Also
      • CloseSQLConnection
      • SQLConnections
      • SQLConnection
      • SQLConnectionOpenQ
    • Related Guides
      • DatabaseLink Connections and Resources
      • DatabaseLink SQL Operations
    • Tech Notes
      • DatabaseLink User Guide
      • Database Connections in DatabaseLink User Guide
      • Establishing a Connection in DatabaseLink User Guide
      • Transactions
      • Connection Pools
DatabaseLink`
DatabaseLink`

OpenSQLConnection

OpenSQLConnection[src]

makes a connection to a named data source.

OpenSQLConnection[JDBC[…]]

makes a connection to a data source described by a JDBC object.

OpenSQLConnection[]

opens a GUI for creating and managing named data sources.

Details and Options

  • To use OpenSQLConnection, you first need to load DatabaseLink using Needs["DatabaseLink`"].
  • The following options can be given:
  • "Name"""name of the connection
    "Description"""textual description of the connection
    "Username" ""username to use for connecting
    "Password" ""password to use for connecting
    "Location"""location of the file that defines the connection
    "Catalog" Automaticlocation of the database catalog
    "Properties" {}key-value pairs, as rules, passed to JDBC driver
    "ReadOnly" Automaticset the connection to be read only
    "RelativePath" Falseindicates whether or not database location is specified relative to configuration (for file-based databases)
    "Timeout" $SQLTimeouttimeout setting for operations, in seconds
    "TransactionIsolationLevel" Automaticset transaction isolation for the connection
    "UseConnectionPool" Automaticopen the connection from a managed pool
    "Version"Noneversion of the configuration file
    "AutoCommit" Trueset the autocommit mode for the connection

Examples

open all close all

Basic Examples  (1)

Wolfram Language code: Needs["DatabaseLink`"]

If you find that the examples in this section do not work as shown, you may need to install or restore the example database with the "DatabaseLink`DatabaseExamples`" package, as described in Using the Example Databases.

Open a connection to a named data source:

Wolfram Language code: conn = OpenSQLConnection["demo"]
Wolfram Language code: CloseSQLConnection[conn];

Open a connection to a data source specified using JDBC:

Wolfram Language code: conn = OpenSQLConnection[ JDBC["HSQL(Standalone)", ToFileName[{$UserBaseDirectory, "DatabaseResources", "Examples"}, "demo"] ], "Name" -> "manualA", "Username" -> "sa"]
Wolfram Language code: CloseSQLConnection[conn];

This opens a GUI:

Wolfram Language code: conn = OpenSQLConnection[]
Wolfram Language code: CloseSQLConnection[conn];

If you find that the examples in this section do not work as shown, you may need to install or restore the example database with the "DatabaseLink`DatabaseExamples`" package, as described in Using the Example Databases.

Options  (10)

"Username"  (1)

Wolfram Language code: Needs["DatabaseLink`"]

Specify username:

Wolfram Language code: conn = OpenSQLConnection["demo", "Username" -> "sa"]
Wolfram Language code: CloseSQLConnection[conn];

"Password"  (1)

Wolfram Language code: Needs["DatabaseLink`"]

Specify username and password:

Wolfram Language code: conn = OpenSQLConnection["demo", "Username" -> "sa", "Password" -> ""]
Wolfram Language code: CloseSQLConnection[conn];

Use $Prompt to be prompted for the password:

Wolfram Language code: conn = OpenSQLConnection["demo", "Username" -> "sa", "Password" -> "$Prompt"]
Wolfram Language code: CloseSQLConnection[conn];

"Catalog"  (1)

Wolfram Language code: Needs["DatabaseLink`"]

Implementation of catalogs varies significantly among RDBMS types and their drivers. In MySQL, for example, "Catalog" may be used to specify the database. Connect to the database sandbox in the MySQL installation on localhost:

Wolfram Language code: conn = OpenSQLConnection[JDBC["MySQL(Connector/J)", "localhost"], "Username" -> "guest", "Password" -> "guest", "Catalog" -> "sandbox"]
Wolfram Language code: DatabaseLink`SQLConnection[DatabaseLink`JDBC["MySQL(Connector/J)", "localhost"], JLink`Objects`vm1`JavaObject3410209317847041, 2, "Catalog" -> "sandbox", "Description" -> None, "Location" -> None, "Name" -> None, "Password" -> "Marflow17", "Properties" -> {}, "ReadOnly" -> Automatic, "RelativePath" -> False, "TransactionIsolationLevel" -> Automatic, "UseConnectionPool" -> Automatic, "Username" -> "root", "Version" -> None]
Wolfram Language code: CloseSQLConnection[conn];

Equivalently, specify the database in the connection URL:

Wolfram Language code: conn = OpenSQLConnection[JDBC["MySQL(Connector/J)", "localhost/sandbox"], "Username" -> "guest", "Password" -> "guest"]
Wolfram Language code: DatabaseLink`SQLConnection[DatabaseLink`JDBC["MySQL(Connector/J)", "localhost/sandbox"], JLink`Objects`vm1`JavaObject7161744753426433, 3, "Catalog" -> Automatic, "Description" -> None, "Location" -> None, "Name" -> None, "Password" -> "Marflow17", "Properties" -> {}, "ReadOnly" -> Automatic, "RelativePath" -> False, "TransactionIsolationLevel" -> Automatic, "UseConnectionPool" -> Automatic, "Username" -> "root", "Version" -> None]
Wolfram Language code: CloseSQLConnection[conn];

"Properties"  (1)

Wolfram Language code: Needs["DatabaseLink`"]

Additional settings may be passed to the JDBC driver by means of the "Properties" option. For example, Derby requires the property "create" be set to "true" for databases that do not already exist:

Wolfram Language code: conn = OpenSQLConnection[JDBC["Derby(Embedded)", FileNameJoin[{$TemporaryDirectory, "posts1"}]]]

With the property set, the connection opens normally:

Wolfram Language code: conn = OpenSQLConnection[JDBC["Derby(Embedded)", FileNameJoin[{$TemporaryDirectory, "posts1"}]], "Properties" -> {"create" -> "true"}]
Wolfram Language code: CloseSQLConnection[conn]; DeleteDirectory[FileNameJoin[{$TemporaryDirectory, "posts1"}], DeleteContents -> True]

Equivalently, set attributes in a connection URL:

Wolfram Language code: conn = OpenSQLConnection[JDBC["Derby(Embedded)", FileNameJoin[{$TemporaryDirectory, "posts2"}] <> ";create=true;"]]
Wolfram Language code: CloseSQLConnection[conn]; DeleteDirectory[FileNameJoin[{$TemporaryDirectory, "posts2"}], DeleteContents -> True]

"ReadOnly"  (1)

Wolfram Language code: Needs["DatabaseLink`"]

A read-only connection will not permit modification or creation of tables or records:

Wolfram Language code: conn = OpenSQLConnection[JDBC["HSQL(Memory)", "scratchpad"], "ReadOnly" -> True]
Wolfram Language code: SQLCreateTable[conn, SQLTable["A"], {SQLColumn["A1", "DataTypeName" -> "VARCHAR(128)"]} ]
Wolfram Language code: CloseSQLConnection[conn];

"RelativePath"  (1)

Wolfram Language code: Needs["DatabaseLink`"]

For file-based databases, supplied paths to resources are interpreted as relative to the current working directory if they are not absolute. Force a path interpretation relative to a given location using the "RelativePath" option:

Wolfram Language code: conn = OpenSQLConnection[JDBC["SQLite", "interactions.db"], "Location" -> $TemporaryDirectory, "RelativePath" -> True]
Wolfram Language code: FileNames["interactions.db", $TemporaryDirectory]
Wolfram Language code: CloseSQLConnection[conn]; DeleteFile[FileNameJoin[{$TemporaryDirectory, "interactions.db"}]]

"Timeout"  (1)

Wolfram Language code: Needs["DatabaseLink`"]

A connection attempt will time out in $SQLTimeout seconds, which has a driver-dependent default. Override it with the "Timeout" option, supplying an integer number of seconds:

Wolfram Language code: AbsoluteTiming@OpenSQLConnection[JDBC["PostgreSQL", "1.2.3.4/nonexistent"], "Timeout" -> 5]

"TransactionIsolationLevel"  (1)

Wolfram Language code: Needs["DatabaseLink`"]

Transactions on the opened connection are isolated using a driver-dependent default. Override it with the "TransactionIsolationLevel" option, supplying one of "ReadUncommitted", "ReadCommitted", "RepeatableRead", or "Serializable":

Wolfram Language code: c1 = OpenSQLConnection["publisher", "TransactionIsolationLevel" -> Automatic]
Wolfram Language code: c2 = OpenSQLConnection["publisher", "TransactionIsolationLevel" -> "Serializable"]
Wolfram Language code: c3 = OpenSQLConnection["publisher", "TransactionIsolationLevel" -> "RepeatableRead"]
Wolfram Language code: CloseSQLConnection /@ {c1, c2, c3};

More information about transactions and isolation levels is available in the Transactions tutorial.

"UseConnectionPool"  (1)

Wolfram Language code: Needs["DatabaseLink`"]

Set the "UseConnectionPool" option to open a connection in a managed pool. The pool will be created if it does not already exist:

Wolfram Language code: conn = OpenSQLConnection["demo", "UseConnectionPool" -> True]

This is the pool object associated with the connection:

Wolfram Language code: SQLConnectionPools[conn]

Close the pool and any associated connections:

Wolfram Language code: SQLConnectionPoolClose[SQLConnectionPools[conn]]

More information about connection pools is available in the Connection Pools tutorial.

"AutoCommit"  (1)

Wolfram Language code: Needs["DatabaseLink`"]

Set the "AutoCommit" option to open a connection. Connecting database with default AutoCommit set to True.

Wolfram Language code: conn = OpenSQLConnection[JDBC["MySQL(Connector/J)", "testqa64lx11"], "Username" -> "testuser", "Password" -> "password", "Catalog" -> "testdb"]

Creating table and inserting data by enabling AutoCommit mode. Insertion operation takes more time when AutoCommit mode is enabled.

Wolfram Language code: SQLExecute[conn, "Drop TABLE if exists test_table"]; SQLExecute[conn, "CREATE TABLE test_table (id int, value int)"]; data = Table[RandomInteger[2, 2], 2000]; SQLInsert[conn, "test_table", {"id", "value"}, data]//AbsoluteTiming//First

Connecting database by disabling AutoCommit mode.

Wolfram Language code: conn2 = OpenSQLConnection[JDBC["MySQL(Connector/J)", "testqa64lx11"], "Username" -> "testuser", "Password" -> "password", "Catalog" -> "testdb", "AutoCommit" -> False]

Insertion operation takes less time while performing bulk insert when AutoCommit is disabled.

Wolfram Language code: SQLInsert[conn2, "test_table", {"id", "value"}, data]//AbsoluteTiming//First

Insertion is completed but not committed.

Wolfram Language code: SQLExecute[conn2, "Select count(*) from test_table"]

Other database connections are not able to see the changes before commit.

Wolfram Language code: SQLExecute[conn, "Select count(*) from test_table"]

Committing the databases changes.

Wolfram Language code: SQLExecute[conn2, "commit"]

Other database connections are able to see the changes after commit.

Wolfram Language code: SQLExecute[conn, "Select count(*) from test_table"]
Wolfram Language code: CloseSQLConnection /@ {conn, conn2};

Possible Issues  (2)

Wolfram Language code: Needs["DatabaseLink`"]

Not all JDBC drivers implement timeout-related methods. The "Timeout" option has no effect with certain drivers:

Wolfram Language code: AbsoluteTiming@OpenSQLConnection[JDBC["MySQL(Connector/J)", "1.2.3.4/nonexistent"], "Timeout" -> 1]
Wolfram Language code: Needs["DatabaseLink`"]

Not all JDBC drivers implement all available settings for the "TransactionIsolationLevel" option. Here an opened connection reverts to the default isolation level:

Wolfram Language code: conn = OpenSQLConnection["publisher", "TransactionIsolationLevel" -> "ReadUncommitted"]
Wolfram Language code: CloseSQLConnection[conn];

See Also

CloseSQLConnection  SQLConnections  SQLConnection  SQLConnectionOpenQ

Tech Notes

    ▪
  • DatabaseLink User Guide
  • ▪
  • Database Connections in DatabaseLink User Guide
  • ▪
  • Establishing a Connection in DatabaseLink User Guide
  • ▪
  • Transactions
  • ▪
  • Connection Pools

Related Guides

    ▪
  • DatabaseLink Connections and Resources
  • ▪
  • DatabaseLink SQL Operations
Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • AI Access
  • Compute Services
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Engine
  • Wolfram Player

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2026 Wolfram
© 2026 Wolfram | Legal & Privacy Policy |
English