Skip to content

Commit b92fbe2

Browse files
authored
docs: Address 10 UUF items across SQL connectivity and security articles (#36965)
- Add deb package download troubleshooting to ODBC Linux install guide - Add Azure Linux repository pre-configuration note - Add Apple Silicon M1/M2/M3 terminology and iODBC compatibility warning - Add Oracle Linux compatibility note to PHP driver install tutorial - Add cross-instance Kerberos integrated security example (CREATE DB SCOPED CREDENTIAL) - Add system table modification warning with sp_change_agent_parameter reference - Add ResultSet constant descriptions to JDBC createStatement parameters - Add DatabaseMetaData usage code example with getTables pattern - Add quick-start ODBC connection string examples for common scenarios
1 parent 13e8fc7 commit b92fbe2

8 files changed

Lines changed: 256 additions & 148 deletions

docs/connect/jdbc/reference/createstatement-method-int-int.md

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "createStatement Method (int, int)"
33
description: "createStatement Method (int, int)"
44
author: David-Engel
55
ms.author: davidengel
6-
ms.date: "01/19/2017"
6+
ms.date: 03/27/2026
77
ms.service: sql
88
ms.subservice: connectivity
99
ms.topic: reference
@@ -24,16 +24,27 @@ public java.sql.Statement createStatement(int resultSetType,
2424
int resultSetConcurrency)
2525
```
2626

27-
#### Parameters
28-
*resultSetType*
29-
30-
The **int** value representing the result set type.
31-
32-
*resultSetConcurrency*
33-
34-
The **int** value representing the result set concurrency type.
27+
#### Parameters
28+
*resultSetType*
29+
30+
The **int** value representing the result set type. Use one of the following `java.sql.ResultSet` constants:
31+
32+
| Constant | Description |
33+
|---|---|
34+
| `ResultSet.TYPE_FORWARD_ONLY` | Cursor moves forward only. Best performance for sequential reads. |
35+
| `ResultSet.TYPE_SCROLL_INSENSITIVE` | Scrollable result set that doesn't reflect changes made to the underlying data after the result set is created. |
36+
| `ResultSet.TYPE_SCROLL_SENSITIVE` | Scrollable result set that reflects changes made to the underlying data. |
37+
38+
*resultSetConcurrency*
39+
40+
The **int** value representing the result set concurrency type. Use one of the following `java.sql.ResultSet` constants:
41+
42+
| Constant | Description |
43+
|---|---|
44+
| `ResultSet.CONCUR_READ_ONLY` | The result set can't be updated. |
45+
| `ResultSet.CONCUR_UPDATABLE` | The result set can be updated by using positioned updates and deletes. |
3546

36-
## Return Value
47+
## Return value
3748
The Statement object.
3849

3950
## Exceptions
@@ -42,9 +53,8 @@ public java.sql.Statement createStatement(int resultSetType,
4253
## Remarks
4354
This createStatement method is specified by the createStatement method in the java.sql.Connection interface.
4455

45-
## See Also
46-
[createStatement Method (SQLServerConnection)](../../../connect/jdbc/reference/createstatement-method-sqlserverconnection.md)
47-
[SQLServerConnection Members](../../../connect/jdbc/reference/sqlserverconnection-members.md)
48-
[SQLServerConnection Class](../../../connect/jdbc/reference/sqlserverconnection-class.md)
49-
50-
56+
## Related content
57+
58+
- [createStatement Method (SQLServerConnection)](../../../connect/jdbc/reference/createstatement-method-sqlserverconnection.md)
59+
- [SQLServerConnection Members](../../../connect/jdbc/reference/sqlserverconnection-members.md)
60+
- [SQLServerConnection Class](../../../connect/jdbc/reference/sqlserverconnection-class.md)

docs/connect/jdbc/reference/sqlserverdatabasemetadata-members.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "SQLServerDatabaseMetaData Members"
33
description: "SQLServerDatabaseMetaData Members"
44
author: David-Engel
55
ms.author: davidengel
6-
ms.date: "01/19/2017"
6+
ms.date: 03/27/2026
77
ms.service: sql
88
ms.subservice: connectivity
99
ms.topic: reference
@@ -12,8 +12,22 @@ ms.custom: sfi-ropc-nochange
1212
# SQLServerDatabaseMetaData Members
1313
[!INCLUDE[Driver_JDBC_Download](../../../includes/driver_jdbc_download.md)]
1414

15-
The following tables list the members that are exposed by the [SQLServerDatabaseMetaData](../../../connect/jdbc/reference/sqlserverdatabasemetadata-class.md) class.
16-
15+
The following tables list the members that are exposed by the [SQLServerDatabaseMetaData](../../../connect/jdbc/reference/sqlserverdatabasemetadata-class.md) class.
16+
17+
> [!TIP]
18+
> To use these methods, first obtain a `DatabaseMetaData` object from an active connection:
19+
>
20+
> ```java
21+
> Connection conn = DriverManager.getConnection(connectionUrl);
22+
> DatabaseMetaData dbmd = conn.getMetaData();
23+
>
24+
> // Example: list all tables in the database
25+
> ResultSet rs = dbmd.getTables(null, null, "%", new String[]{"TABLE"});
26+
> while (rs.next()) {
27+
> System.out.println(rs.getString("TABLE_NAME"));
28+
> }
29+
> ```
30+
1731
## Constructors
1832
None.
1933
@@ -208,7 +222,6 @@ ms.custom: sfi-ropc-nochange
208222
|java.lang.Object|clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait|
209223
|java.sql.Wrapper|isWrapperFor, unwrap|
210224
211-
## See Also
212-
[SQLServerDatabaseMetaData Class](../../../connect/jdbc/reference/sqlserverdatabasemetadata-class.md)
213-
214-
225+
## Related content
226+
227+
- [SQLServerDatabaseMetaData Class](../../../connect/jdbc/reference/sqlserverdatabasemetadata-class.md)

docs/connect/odbc/linux-mac/install-microsoft-odbc-driver-sql-server-macos.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ This article explains how to install the Microsoft ODBC Driver for SQL Server on
2121

2222
This article provides commands for installing the ODBC driver from the bash shell. If you want to download the packages directly, see [Download ODBC Driver for SQL Server](../download-odbc-driver-for-sql-server.md).
2323

24-
> [!NOTE]
25-
> The Microsoft ODBC driver for SQL Server on macOS is only supported on the x64 architecture through version 17.7. Apple ARM64 support was added starting with version 17.8. The architecture will be detected and the correct package will be automatically installed by the Homebrew formula. If your command prompt is running in x64 emulation mode on ARM64, the x64 package will be installed. If you're not running in emulation mode in your command prompt, the ARM64 package will be installed.
24+
> [!NOTE]
25+
> The Microsoft ODBC driver for SQL Server on macOS is only supported on the x64 architecture through version 17.7. Apple ARM64 (M1, M2, M3, and later Apple Silicon chips) support was added starting with version 17.8. The Homebrew formula detects the architecture and automatically installs the correct package. If your command prompt is running in x64 emulation mode on ARM64, the x64 package is installed. If you aren't running in emulation mode, the ARM64 package is installed.
2626
> Additionally, the Homebrew default directory changed with the ARM64 architecture, to `/opt/homebrew`. The paths in the [Driver files](#driver-files) section use the x64 Homebrew paths, which default to `/usr/local`, so your file paths will vary accordingly.
27+
>
28+
> The Microsoft ODBC driver for macOS is designed to work with **unixODBC** (installed by Homebrew). If you use **iODBC** as your driver manager, you might encounter architecture mismatch errors such as `incompatible architecture (have 'arm64', need 'x86_64')`. To resolve this issue, use unixODBC instead of iODBC. Homebrew automatically installs unixODBC as a dependency of the `msodbcsql18` package.
2729
2830
## Microsoft ODBC 18
2931

docs/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to install the Microsoft ODBC Driver for SQL Server on Li
44
author: David-Engel
55
ms.author: davidengel
66
ms.reviewer: randolphwest
7-
ms.date: 01/06/2026
7+
ms.date: 03/27/2026
88
ms.service: sql
99
ms.subservice: connectivity
1010
ms.topic: concept-article
@@ -186,6 +186,9 @@ sudo apt-get install -y unixodbc-dev
186186
187187
### [Azure Linux](#tab/azure18-install)
188188
189+
> [!NOTE]
190+
> Azure Linux 3.0 includes the Microsoft packages repository by default. You don't need to manually configure the repository before you install the driver. If your Azure Linux image uses `tdnf` as the package manager, the following commands work directly.
191+
189192
```bash
190193
if ! [[ "3.0" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)"* ]];
191194
then
@@ -721,6 +724,8 @@ The driver needs to load the resource file to function. This file is called `mso
721724

722725
## Troubleshoot
723726

727+
### Previous driver version conflict
728+
724729
If you previously installed and registered a version of the driver with unixODBC, installation might fail with an error similar to:
725730

726731
```output
@@ -735,6 +740,44 @@ odbcinst -u -d -n "ODBC Driver $1 for SQL Server"
735740

736741
If uninstalling by using the `odbcinst` command fails, you can manually remove driver sections from the `odbcinst.ini` file. You can find the location of the `odbcinst.ini` file by using the command `odbcinst -j`.
737742

743+
### Package download errors on Debian and Ubuntu
744+
745+
On Debian-based distributions, you might see the following error when you install the `packages-microsoft-prod.deb` package:
746+
747+
```output
748+
dpkg-deb: error: 'packages-microsoft-prod.deb' is not a Debian format archive
749+
```
750+
751+
This error typically means the downloaded file is corrupted or incomplete, often caused by a network interruption or proxy issue. To resolve the problem:
752+
753+
1. Delete the corrupted file and download it again. For Ubuntu:
754+
755+
```bash
756+
rm packages-microsoft-prod.deb
757+
curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.deb
758+
```
759+
760+
For Debian, replace `ubuntu` and use the major version number only:
761+
762+
```bash
763+
rm packages-microsoft-prod.deb
764+
curl -sSL -O https://packages.microsoft.com/config/debian/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.deb
765+
```
766+
767+
1. Verify the download is a valid Debian package (the output should include `Debian binary package`):
768+
769+
```bash
770+
file packages-microsoft-prod.deb
771+
```
772+
773+
1. If the download continues to fail, check your network connection and proxy settings, or use `wget` instead of `curl`:
774+
775+
```bash
776+
wget https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.deb
777+
```
778+
779+
### Connection problems
780+
738781
If you can't make a connection to SQL Server by using the ODBC driver, see the known issues article on [troubleshooting connection problems](known-issues-in-this-version-of-the-driver.md#connectivity).
739782

740783
## Related content

docs/connect/php/installation-tutorial-linux-mac.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Linux and macOS Installation for the Drivers for PHP"
33
description: "In these instructions, learn how to install the Microsoft Drivers for PHP for SQL Server on Linux or macOS."
44
author: David-Engel
55
ms.author: davidengel
6-
ms.date: 02/24/2026
6+
ms.date: 03/27/2026
77
ms.service: sql
88
ms.subservice: connectivity
99
ms.topic: how-to
@@ -399,7 +399,7 @@ To test your installation, see [Testing your installation](#testing-your-install
399399
If you don't already have it, install brew as follows:
400400

401401
```bash
402-
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
402+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
403403
```
404404

405405
> [!NOTE]
@@ -482,7 +482,7 @@ sudo apachectl restart
482482

483483
To test your installation, see [Testing your installation](#testing-your-installation) at the end of this document.
484484

485-
## Testing Your Installation
485+
## Testing your installation
486486

487487
To test this sample script, create a file called testsql.php in your system's document root. This path is `/var/www/html/` on Ubuntu, Debian, and Red Hat, `/srv/www/htdocs` on SUSE, `/var/www/localhost/htdocs` on Alpine, or `/usr/local/var/www` on macOS. Copy the following script to it, replacing the server, database, username, and password as appropriate.
488488

@@ -600,10 +600,8 @@ php testsql.php
600600

601601
If running from the command line is successful but nothing shows in your browser, check the [Apache log files](https://linuxize.com/post/apache-log-files/#location-of-the-log-files). For more help, see [Support resources](support-resources-for-the-php-sql-driver.md) for places to go.
602602

603-
## See Also
603+
## Related content
604604

605-
[Getting Started with the Microsoft Drivers for PHP for SQL Server](../../connect/php/getting-started-with-the-php-sql-driver.md)
606-
607-
[Loading the Microsoft Drivers for PHP for SQL Server](../../connect/php/loading-the-php-sql-driver.md)
608-
609-
[System Requirements for the Microsoft Drivers for PHP for SQL Server](../../connect/php/system-requirements-for-the-php-sql-driver.md)
605+
- [Getting Started with the Microsoft Drivers for PHP for SQL Server](../../connect/php/getting-started-with-the-php-sql-driver.md)
606+
- [Loading the Microsoft Drivers for PHP for SQL Server](../../connect/php/loading-the-php-sql-driver.md)
607+
- [System Requirements for the Microsoft Drivers for PHP for SQL Server](../../connect/php/system-requirements-for-the-php-sql-driver.md)

0 commit comments

Comments
 (0)