Merge pull request #930 from gdegoulet/dev
add Language option on connect
This commit is contained in:
commit
6325284919
|
@ -48,6 +48,7 @@ const char AttachDBFileName[] = "AttachDbFileName";
|
||||||
const char Authentication[] = "Authentication";
|
const char Authentication[] = "Authentication";
|
||||||
const char ColumnEncryption[] = "ColumnEncryption";
|
const char ColumnEncryption[] = "ColumnEncryption";
|
||||||
const char ConnectionPooling[] = "ConnectionPooling";
|
const char ConnectionPooling[] = "ConnectionPooling";
|
||||||
|
const char Language[] = "Language";
|
||||||
const char ConnectRetryCount[] = "ConnectRetryCount";
|
const char ConnectRetryCount[] = "ConnectRetryCount";
|
||||||
const char ConnectRetryInterval[] = "ConnectRetryInterval";
|
const char ConnectRetryInterval[] = "ConnectRetryInterval";
|
||||||
const char Database[] = "Database";
|
const char Database[] = "Database";
|
||||||
|
@ -241,6 +242,15 @@ const connection_option PDO_CONN_OPTS[] = {
|
||||||
CONN_ATTR_BOOL,
|
CONN_ATTR_BOOL,
|
||||||
conn_null_func::func
|
conn_null_func::func
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
PDOConnOptionNames::Language,
|
||||||
|
sizeof( PDOConnOptionNames::Language ),
|
||||||
|
SQLSRV_CONN_OPTION_LANGUAGE,
|
||||||
|
ODBCConnOptions::Language,
|
||||||
|
sizeof( ODBCConnOptions::Language ),
|
||||||
|
CONN_ATTR_STRING,
|
||||||
|
conn_str_append_func::func
|
||||||
|
},
|
||||||
{
|
{
|
||||||
PDOConnOptionNames::Driver,
|
PDOConnOptionNames::Driver,
|
||||||
sizeof(PDOConnOptionNames::Driver),
|
sizeof(PDOConnOptionNames::Driver),
|
||||||
|
|
|
@ -1131,6 +1131,7 @@ const char Authentication[] = "Authentication";
|
||||||
const char Driver[] = "Driver";
|
const char Driver[] = "Driver";
|
||||||
const char CharacterSet[] = "CharacterSet";
|
const char CharacterSet[] = "CharacterSet";
|
||||||
const char ConnectionPooling[] = "ConnectionPooling";
|
const char ConnectionPooling[] = "ConnectionPooling";
|
||||||
|
const char Language[] = "Language";
|
||||||
const char ColumnEncryption[] = "ColumnEncryption";
|
const char ColumnEncryption[] = "ColumnEncryption";
|
||||||
const char ConnectRetryCount[] = "ConnectRetryCount";
|
const char ConnectRetryCount[] = "ConnectRetryCount";
|
||||||
const char ConnectRetryInterval[] = "ConnectRetryInterval";
|
const char ConnectRetryInterval[] = "ConnectRetryInterval";
|
||||||
|
@ -1163,6 +1164,7 @@ enum SQLSRV_CONN_OPTIONS {
|
||||||
SQLSRV_CONN_OPTION_ACCESS_TOKEN,
|
SQLSRV_CONN_OPTION_ACCESS_TOKEN,
|
||||||
SQLSRV_CONN_OPTION_CHARACTERSET,
|
SQLSRV_CONN_OPTION_CHARACTERSET,
|
||||||
SQLSRV_CONN_OPTION_CONN_POOLING,
|
SQLSRV_CONN_OPTION_CONN_POOLING,
|
||||||
|
SQLSRV_CONN_OPTION_LANGUAGE,
|
||||||
SQLSRV_CONN_OPTION_DATABASE,
|
SQLSRV_CONN_OPTION_DATABASE,
|
||||||
SQLSRV_CONN_OPTION_ENCRYPT,
|
SQLSRV_CONN_OPTION_ENCRYPT,
|
||||||
SQLSRV_CONN_OPTION_FAILOVER_PARTNER,
|
SQLSRV_CONN_OPTION_FAILOVER_PARTNER,
|
||||||
|
|
|
@ -233,6 +233,7 @@ const char Authentication[] = "Authentication";
|
||||||
const char CharacterSet[] = "CharacterSet";
|
const char CharacterSet[] = "CharacterSet";
|
||||||
const char ColumnEncryption[] = "ColumnEncryption";
|
const char ColumnEncryption[] = "ColumnEncryption";
|
||||||
const char ConnectionPooling[] = "ConnectionPooling";
|
const char ConnectionPooling[] = "ConnectionPooling";
|
||||||
|
const char Language[] = "Language";
|
||||||
const char ConnectRetryCount[] = "ConnectRetryCount";
|
const char ConnectRetryCount[] = "ConnectRetryCount";
|
||||||
const char ConnectRetryInterval[] = "ConnectRetryInterval";
|
const char ConnectRetryInterval[] = "ConnectRetryInterval";
|
||||||
const char Database[] = "Database";
|
const char Database[] = "Database";
|
||||||
|
@ -380,6 +381,15 @@ const connection_option SS_CONN_OPTS[] = {
|
||||||
CONN_ATTR_BOOL,
|
CONN_ATTR_BOOL,
|
||||||
conn_null_func::func
|
conn_null_func::func
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
SSConnOptionNames::Language,
|
||||||
|
sizeof(SSConnOptionNames::Language),
|
||||||
|
SQLSRV_CONN_OPTION_LANGUAGE,
|
||||||
|
ODBCConnOptions::Language,
|
||||||
|
sizeof(ODBCConnOptions::Language),
|
||||||
|
CONN_ATTR_STRING,
|
||||||
|
conn_str_append_func::func
|
||||||
|
},
|
||||||
{
|
{
|
||||||
SSConnOptionNames::Driver,
|
SSConnOptionNames::Driver,
|
||||||
sizeof(SSConnOptionNames::Driver),
|
sizeof(SSConnOptionNames::Driver),
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
--TEST--
|
||||||
|
Encoding of sqlsrv errors
|
||||||
|
--SKIPIF--
|
||||||
|
<?php require('skipif.inc'); ?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
header('content-type: text/plain;encoding=ISO-8859-1');
|
||||||
|
|
||||||
|
require_once("MsCommon.inc");
|
||||||
|
|
||||||
|
$conn = connect(array( 'CharacterSet'=>'UTF-8','Language'=>'German' ));
|
||||||
|
if (!$conn) {
|
||||||
|
die(print_r(sqlsrv_errors(), true));
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt = sqlsrv_query($conn, "select *, BadColumn from sys.syslanguages");
|
||||||
|
if ($stmt) {
|
||||||
|
echo 'OK!';
|
||||||
|
sqlsrv_free_stmt($stmt);
|
||||||
|
} else {
|
||||||
|
$errs = sqlsrv_errors();
|
||||||
|
print_r($errs);
|
||||||
|
}
|
||||||
|
|
||||||
|
sqlsrv_close($conn);
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
Array
|
||||||
|
(
|
||||||
|
[0] => Array
|
||||||
|
(
|
||||||
|
[0] => 42S22
|
||||||
|
[SQLSTATE] => 42S22
|
||||||
|
[1] => 207
|
||||||
|
[code] => 207
|
||||||
|
[2] => %SUngültiger Spaltenname %cBadColumn%c.
|
||||||
|
[message] => %SUngültiger Spaltenname %cBadColumn%c.
|
||||||
|
)
|
||||||
|
|
||||||
|
)
|
Loading…
Reference in a new issue