Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Recupera uma descrição das colunas da tabela disponíveis no catálogo especificado.
Sintaxe
public java.sql.ResultSet getColumns(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String col)
Parâmetros
catálogo
Uma String que contém o nome do catálogo.
schema
Uma String que contém o nome do esquema, padrão.
table
Uma String que contém o padrão de nomes da tabela.
Col
Uma cadeia que contém o padrão de nome da coluna.
Valor de retorno
Um objeto SQLServerResultSet .
Exceptions
Observações
Este método getColumns é especificado pelo método getColumns na interface java.sql.DatabaseMetaData.
O conjunto de resultados devolvido pelo método getColumns conterá a seguinte informação:
| Nome | Tipo | Description |
|---|---|---|
| TABLE_CAT | String | O nome do catálogo. |
| TABLE_SCHEM | String | O nome do esquema da tabela. |
| TABLE_NAME | String | O nome da tabela. |
| COLUMN_NAME | String | O nome da coluna. |
| DATA_TYPE | smallint | O tipo de dados SQL do java.sql.Types. |
| TYPE_NAME | String | O nome do tipo de dados. |
| COLUMN_SIZE | int | A precisão da coluna. |
| BUFFER_LENGTH | smallint | Tamanho de transferência dos dados. |
| DECIMAL_DIGITS | smallint | A escala da coluna. |
| NUM_PREC_RADIX | smallint | A radix da coluna. |
| ANULÁVEL | smallint | Indica se a coluna é anulável. Pode ser um dos seguintes valores: columnNoNulls (0) columnNullable (1) |
| COMENTÁRIOS | String | Os comentários associados à coluna. Nota: O SQL Server devolve sempre nulo para esta coluna. |
| COLUMN_DEF | String | O valor padrão da coluna. |
| SQL_DATA_TYPE | smallint | Valor do tipo de dado SQL tal como aparece no campo TYPE do descritor. Esta coluna é igual à coluna DATA_TYPE, exceto para os tipos de dados data-hora e intervalo SQL-92. Esta coluna devolve sempre um valor. |
| SQL_DATETIME_SUB | smallint | Código de subtipo para tipos de dados data-hora e intervalo SQL-92. Para outros tipos de dados, esta coluna devolve NULL. |
| CHAR_OCTET_LENGTH | int | O número máximo de bytes na coluna. |
| ORDINAL_POSITION | int | O índice da coluna dentro da tabela. |
| IS_NULLABLE | String | Indica se a coluna permite valores nulos. |
| SS_IS_SPARSE | smallint | Se a coluna for uma coluna esparsa, esta tem o valor 1; caso contrário, 0. 1 |
| SS_IS_COLUMN_SET | smallint | Se a coluna for a coluna column_set esparsa, esta tem o valor 1; caso contrário, 0. 1 |
| SS_IS_COMPUTED | smallint | Indica se uma coluna num TABLE_TYPE é uma coluna calculada. 1 |
| IS_AUTOINCREMENT | String | "SIM" se a coluna for incrementada automaticamente. "NÃO" se a coluna não for incrementada automaticamente. "" (cadeia vazia) se o driver não conseguir determinar se a coluna está automaticamente incrementada. 1 |
| SS_UDT_CATALOG_NAME | String | O nome do catálogo que contém o tipo definido pelo utilizador (UTT). 1 |
| SS_UDT_SCHEMA_NAME | String | O nome do esquema que contém o tipo definido pelo utilizador (UDT). 1 |
| SS_UDT_ASSEMBLY_TYPE_NAME | String | O nome totalmente qualificado tipo definido pelo utilizador (UDT). 1 |
| SS_XML_SCHEMACOLLECTION_CATALOG_NAME | String | O nome do catálogo onde é definido o nome da coleção de esquemas XML. Se o nome do catálogo não for encontrado, esta variável contém uma cadeia vazia. 1 |
| SS_XML_SCHEMACOLLECTION_SCHEMA_NAME | String | O nome do esquema onde é definido um nome de coleção de esquemas XML. Se o nome do esquema não for encontrado, esta é uma cadeia vazia. 1 |
| SS_XML_SCHEMACOLLECTION_NAME | String | O nome de uma coleção de esquemas XML. Se o nome não for encontrado, esta é uma cadeia vazia. 1 |
| SS_DATA_TYPE | tinyint | O tipo de dado SQL Server utilizado por procedimentos armazenados estendidos. Nota Para mais informações sobre os tipos de dados devolvidos pelo SQL Server, consulte "Tipos de Dados (Transact-SQL)" no SQL Server Books Online. |
(1) Esta coluna não estará presente se estiver a ligar-se ao SQL Server 2005 (9.x).
Observação
Para mais informações sobre os dados devolvidos pelo método getColumns, consulte "sp_columns (Transact-SQL)" no SQL Server Books Online.
No Driver JDBC 3.0 do Microsoft SQL Server, verá as seguintes alterações de comportamento em relação às versões anteriores do driver JDBC:
A coluna DATA_TYPE apresenta as seguintes alterações:
| Tipo de dados do SQL Server | Tipo de Retorno no Driver JDBC 2.0 (ou, se ligado ao SQL Server 2005 (9.x)) e Constante Numérica Associada | Tipo de Retorno no Driver JDBC 3.0 quando ligado ao SQL Server 2008 (10.0.x) e versões posteriores |
|---|---|---|
| tipo definido pelo utilizador maior que 8 kB | LONGVARBINARY (-4) | VARBINARY (-3) |
| geografia | LONGVARBINARY (-4) | VARBINARY (-3) |
| geometria | LONGVARBINARY (-4) | VARBINARY (-3) |
| varbinary(max) | LONGVARBINARY (-4) | VARBINARY (-3) |
| nvarchar (máx.) | LONGVARCHAR (-1) ou LONGNVARCHAR (JDBC 4) (-16) | VARCHAR (12) ou NVARCHAR (JDBC 4) (-9) |
| varchar(max) | LONGVARCHAR (-1) | VARCHAR (12) |
| time | VARCHAR (12) ou NVARCHAR (JDBC 4) (-9) | TEMPO (-154) |
| date | VARCHAR (12) ou NVARCHAR (JDBC 4) (-9) | DATA (91) |
| datetime2 | VARCHAR (12) ou NVARCHAR (JDBC 4) (-9) | CARIMBO TEMPORAL (93) |
| datetimeoffset | VARCHAR (12) ou NVARCHAR (JDBC 4) (-9) | microsoft.sql.Types.DATETIMEOFFSET (-155) |
A coluna COLUMN_SIZE apresenta as seguintes alterações:
| Tipo de dados do SQL Server | Tipo de Retorno no Driver JDBC 2.0 | Tipo de Retorno no Driver JDBC 3.0 |
|---|---|---|
| nvarchar (máx.) | 1073741823 | 2147483647 (metadados da base de dados) |
| XML | 1073741823 | 2147483647 (metadados da base de dados) |
| tipo definido pelo utilizador menor ou igual a 8 kB | 8 kB (conjunto de resultados e metadados de parâmetros) | Tamanho real devolvido pelo procedimento armazenado. |
| time | O comprimento em caracteres da representação da cadeia do tipo, assumindo a precisão máxima permitida da componente dos segundos fracionários. | |
| date | Igual ao tempo | |
| datetime2 | Igual ao tempo | |
| datetimeoffset | Igual ao tempo |
A coluna BUFFER_LENGTH apresenta a seguinte alteração:
| Tipo de dados do SQL Server | Tipo de Retorno no Driver JDBC 2.0 | Tipo de Retorno no Driver JDBC 3.0 |
|---|---|---|
| tipo definido pelo utilizador maior que 8 kB | 2147483647 |
A coluna TYPE_NAME apresenta as seguintes alterações:
| Tipo de dados do SQL Server | Tipo de Retorno no Driver JDBC 2.0 | Tipo de Retorno no Driver JDBC 3.0 |
|---|---|---|
| varchar(max) | enviar SMS | Varchar |
| varbinary(max) | imagem | varbinary |
A coluna DECIMAL_DIGITS apresenta as seguintes alterações:
| Tipo de SQL Server | JDBC Driver 2.0 | Driver JDBC 3.0 |
|---|---|---|
| time | null | 7 (ou menor, se especificado) |
| date | null | null |
| datetime2 | null | 7 (ou menor, se especificado) |
| datetimeoffset | null | 7 (ou menor, se especificado) |
A coluna SQL_DATA_TYPE apresenta as seguintes alterações:
| Tipo de dados do SQL Server | SQL Server 2008 Valor de Dados no Driver JDBC 2.0 | SQL Server 2008 Valor de Dados no Driver JDBC 3.0 |
|---|---|---|
| varchar(max) | -10 | -9 |
| nvarchar (máx.) | -1 | -9 |
| XML | -10 | -152 |
| tipo definido pelo utilizador menor ou igual a 8 kB | -3 | -151 |
| tipo definido pelo utilizador maior que 8 kB | Não disponível no JDBC Driver 2.0 | -151 |
| geografia | -4 | -151 |
| geometria | -4 | -151 |
| hierarquid | -4 | -151 |
| time | -9 | 92 |
| date | -9 | 91 |
| datetime2 | -9 | 93 |
| datetimeoffset | -9 | -155 |
Example
O exemplo seguinte demonstra como usar o método getColumns para devolver informação para a tabela Person.Contact na base de dados de exemplo AdventureWorks2025.
import java.sql.*;
public class c1 {
public static void main(String[] args) {
String connectionUrl = "jdbc:sqlserver://localhost:1433;encrypt=true;databaseName=AdventureWorks;integratedsecurity=true";
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(connectionUrl);
DatabaseMetaData dbmd = con.getMetaData();
rs = dbmd.getColumns("AdventureWorks", "Person", "Contact", "FirstName");
ResultSet r = dbmd.getColumns(null, null, "Contact", null);
ResultSetMetaData rm = r.getMetaData();
int noofcols = rm.getColumnCount();
if (r.next())
for (int i = 0 ; i < noofcols ; i++ )
System.out.println(rm.getColumnName( i + 1 ) + ": \t\t" + r.getString( i + 1 ));
}
catch (Exception e) {}
finally {}
}
}
Ver também
SQLServerDatabaseMetaData Methods
Membros SQLServerDatabaseMetaData
SQLServerDatabaseMetaData Class