You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Components include a **Launchpad** service used to invoke language-specific launchers (for example,, Java), language and library-specific logic for loading interpreters and libraries. The Launcher loads a language run time, plus any proprietary modules.
37
+
Components include a **Launchpad** service used to invoke language-specific launchers (for example, Java), language, and library-specific logic for loading interpreters and libraries. The Launcher loads a language run time, plus any proprietary modules.
Copy file name to clipboardExpand all lines: docs/language-extensions/how-to/call-java-from-sql.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ There are two methods for calling Java classes in SQL Server:
35
35
36
36
### Basic principles
37
37
38
-
The folowing are some basic principles when executing Java on SQL Server.
38
+
The following are some basic principles when executing Java on SQL Server.
39
39
40
40
* Compiled custom Java classes must exist in **.class** files or **.jar** files in your Java classpath. The [CLASSPATH parameter](#set-classpath) provides the path to the compiled Java files.
41
41
@@ -82,7 +82,7 @@ Once you have compiled your Java class or classes and created a jar file in your
82
82
83
83
2. Register a system environment variable
84
84
85
-
Just as you created a system environment variable for the Java runtime , you can create a system environment variable and provide the paths to your jar file that contains the classes. To do this, you need to create a system environment variable called "CLASSPATH".
85
+
You can create a system environment variable and provide the paths to your jar file that contains the classes. Create a system environment variable called **CLASSPATH**.
When using [SQL Server Language Extensions](../language-extensions-overview.md) and executing a Java code, we recommend to package your class files into a jar file.
17
+
When using [SQL Server Language Extensions](../language-extensions-overview.md) and executing a Java code, we recommend packaging your class files into a jar file.
# Microsoft Extensibility SDK for Java for SQL Server
17
17
18
-
This article describes how you can implement a Java program for SQL Server using the Microsoft Extensibility SDK for Java. This is an interface for the Java language extension that is used to exchange data with SQL Server and to execute Java code from SQL Server.
18
+
This article describes how you can implement a Java program for SQL Server using the Microsoft Extensibility SDK for Java. The SDK is an interface for the Java language extension that is used to exchange data with SQL Server and to execute Java code from SQL Server.
19
19
20
20
+ Download the [Microsoft Extensibility SDK for Java for Microsoft SQL Server](http://aka.ms/mssql-java-lang-extension).
21
21
22
22
## Implementation requirements
23
23
24
-
The SDK interface defines a set of requirements that need to be fulfilled for SQL Server to communicate with the Java runtime. This means that you need to follow some implementation rules in your main class. SQL Server can then execute a specific method in the Java class and exchange data using the Java language extension.
24
+
The SDK interface defines a set of requirements that need to be fulfilled for SQL Server to communicate with the Java runtime. To use the SDK, you need to follow some implementation rules in your main class. SQL Server can then execute a specific method in the Java class and exchange data using the Java language extension.
25
25
26
26
For an example of how you can use the SDK, see [Tutorial: Search for a string using regular expressions (regex) in Java](../tutorials/search-for-string-using-regular-expressions-in-java.md).
27
27
@@ -34,7 +34,7 @@ Two abstract classes that define the interface the Java extension uses to exchan
34
34
-**AbstractSqlServerExtensionExecutor**
35
35
-**AbstractSqlServerExtensionDataset**
36
36
37
-
The third class is a helper class which contains an implementation of a data set object. This is an optional class to use to make it easier to get started. You can use your own implementation of such a class.
37
+
The third class is a helper class, which contains an implementation of a data set object. It is an optional class you can use, which makes it easier to get started. You can also use your own implementation of such a class instead.
38
38
39
39
-**PrimitiveDataset**
40
40
@@ -56,7 +56,7 @@ At a minimum, your main class needs to implement the execute(...) method.
56
56
57
57
### Method execute
58
58
59
-
The execute method is the method that is called from SQL Server via the Java language extension, to invoke Java code from SQL Server. This is a key method where you include the main operations you wish to execute from SQL Server.
59
+
The execute method is the method that is called from SQL Server via the Java language extension, to invoke Java code from SQL Server. It is a key method where you include the main operations you wish to execute from SQL Server.
60
60
61
61
To pass method arguments to Java from SQL Server, use the `@param` parameter in `sp_execute_external_script`. The method **execute** takes its arguments that way.
62
62
@@ -234,7 +234,7 @@ public class AbstractSqlServerExtensionDataset {
234
234
235
235
The class **PrimitiveDataset** is an implementation of **AbstractSqlServerExtensionDataset** that stores simple types as primitives arrays.
236
236
237
-
It is provided in the SDK simply as a an optional helper class. If you don't use this class, you need to implement your own class that inherits from **AbstractSqlServerExtensionDataset**.
237
+
It is provided in the SDK simply as an optional helper class. If you don't use this class, you need to implement your own class that inherits from **AbstractSqlServerExtensionDataset**.
238
238
239
239
Below you can find the source code for **PrimitiveDataset**.
Starting in SQL Server 2019, Language Extensions and Java support is provided. This article explains how to install the Language Extensions component by running the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] setup wizard.
18
+
Starting in SQL Server 2019, Language Extensions and Java support are provided. This article explains how to install the Language Extensions component by running the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] setup wizard.
19
19
20
20
> [!NOTE]
21
21
> This article is for installation of SQL Server Language Extensions on Windows. For Linux, see [Install SQL Server 2019 Language Extensions (Java) on Linux](https://docs.microsoft.com/sql//linux/sql-server-linux-setup-language-extensions.md)
@@ -41,7 +41,7 @@ Starting in SQL Server 2019, Language Extensions and Java support is provided. T
41
41
42
42
## Java JRE or JDK prerequisite
43
43
44
-
Java 8 is currently the supported version. Newer versions, like Java 11, should with the language extension but is currently not supported. The Java Runtime Environment (JRE) is the minimum requirement, but JDK is useful if you need the Java compiler and development packages. Because the JDK is all inclusive, if you install the JDK, the JRE is not necessary.
44
+
Java 8 is currently the supported version. Newer versions, like Java 11, should work with the language extension but is currently not supported. The Java Runtime Environment (JRE) is the minimum requirement, but JDK is useful if you need the Java compiler and development packages. Because the JDK is all inclusive, if you install the JDK, the JRE is not necessary.
45
45
46
46
You can use your preferred Java 8 distribution. Below are two suggested distributions:
47
47
@@ -152,7 +152,7 @@ If you did not install the JDK or JRE under program files, you need to perform t
152
152
sp_configure
153
153
```
154
154
155
-
The value for the property, `external scripts enabled`, should be **0** at this point. That is because the feature is turned off by default. The feature must be explicitly enabled by an administrator before you can run Java code.
155
+
The value for the property, `external scripts enabled`, should be **0** at this point. The feature is turned off by default and must be explicitly enabled by an administrator before you can run Java code.
156
156
157
157
3. To enable the external scripting feature, run the following statement:
158
158
@@ -183,7 +183,7 @@ Use the following steps to verify that all components used to launch external sc
183
183
EXEC sp_configure 'external scripts enabled'
184
184
```
185
185
186
-
The **run_value** should now be set to 1.
186
+
The **run_value** is now set to 1.
187
187
188
188
2. Open the **Services** panel or SQL Server Configuration Manager, and verify **SQL Server Launchpad service** is running. You should have one service for every database engine instance that has language extensions installed. For more information about the service, see [Extensibility framework](../concepts/extensibility-framework.md).
Copy file name to clipboardExpand all lines: docs/language-extensions/language-extensions-overview.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: What is Language Extensions?
2
+
title: What are Language Extensions?
3
3
titleSuffix: SQL Server Language Extensions
4
4
description: Learn about SQL Server 2019 language extensions (preview) that run external scripts within SQL Server.
5
5
author: dphansen
@@ -18,15 +18,15 @@ Language Extensions is a feature of SQL Server used for executing external code.
18
18
19
19
## What you can do with Language Extensions
20
20
21
-
Language Extensions uses the extensibility framework for executing external code. Code execution is isolated from the core engine processes, but fully integrated with SQL Server query execution. This means that you can execute code where the data resides, eliminating the need to pull data across the network.
21
+
Language Extensions uses the extensibility framework for executing external code. Code execution is isolated from the core engine processes, but fully integrated with SQL Server query execution. They let you execute code where the data resides, eliminating the need to pull data across the network.
22
22
23
-
Language extensions uses the system stored procedure [sp_execute_external_script](https://docs.microsoft.com/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql) as the interface for executing pre-compiled Java code.
23
+
The system stored procedure [sp_execute_external_script](https://docs.microsoft.com/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql) is used as the interface for executing pre-compiled Java code.
24
24
25
-
This provides multiple advantages:
25
+
Language Extensions provides multiple advantages:
26
26
27
27
+ Data security. Bringing external language execution closer to the source of data avoids wasteful or insecure data movement.
28
28
+ Speed. Databases are optimized for set-based operations. Recent innovations in databases such as in-memory tables make summaries and aggregations lightning, and are a perfect complement to data science.
29
-
+ Ease of deployment and integration. [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] is the central point of operations for many other data management tasks and applications. By using data that resides in the database, you ensure that the data used by Java is consistent and up-to-date.
29
+
+ Ease of deployment and integration. [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] is the central point of operations for many other data management tasks and applications. By using data that resides in the database, you ensure that the data used by Java is consistent and up-to-date.
Copy file name to clipboardExpand all lines: docs/language-extensions/tutorials/search-for-string-using-regular-expressions-in-java.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -175,7 +175,7 @@ If you are not using a Java IDE, you can manually create a `.jar` file. For more
175
175
176
176
## Create external language
177
177
178
-
In CTP 3.0, you need to create an external language in the database. This is a database scoped object, which means that external languages like Java need to be created for each database you want to use it in.
178
+
In CTP 3.0, you need to create an external language in the database. The external language is a database scoped object, which means that external languages like Java need to be created for each database you want to use it in.
0 commit comments