VB Script Региональные настройки - PullRequest
0 голосов
/ 19 марта 2012

Можно ли установить региональные настройки для процесса через скрипт VB?

Dim oEnv: Set oEnv = WshShell.Environment("PROCESS")
oEnv.Item("NLS_LANG") = "AMERICAN_AMERICA.WE8MSWIN1252"

Это один бит кода, который я получил.Не уверен, как это работает?Я хотел бы установить стандарты и форматы для своего приложения специально для Соединенных Штатов из Великобритании.

Спасибо, Нишант

Ответы [ 2 ]

0 голосов
/ 20 марта 2012

Это необходимо установить в реестре.Путь к реестру, который вы используете, отличается в зависимости от используемой версии.

Для версии Oracle 7:

HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE

Const HKEY_LOCAL_MACHINE = &H80000002

strKeyPath = "SOFTWARE\ORACLE"
strValueName = "NLS_LANG"
strValue = "AMERICAN_AMERICA.WE8MSWIN1252"

strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
objRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValue

Для баз данных Oracle версий 8, 8i и 9i:

HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ HOMEx \ где «x» - это уникальный номер, идентифицирующий дом Oracle.HOME0 является первой установкой

Const HKEY_LOCAL_MACHINE = &H80000002

strKeyPath = "SOFTWARE\ORACLE\HOMEx"
strValueName = "NLS_LANG"
strValue = "AMERICAN_AMERICA.WE8MSWIN1252"

strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
objRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValue

Для базы данных Oracle 10g:

HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ KEY_

Const HKEY_LOCAL_MACHINE = &H80000002

strKeyPath = "SOFTWARE\ORACLE\KEY_<oracle_home_name>"
strValueName = "NLS_LANG"
strValue = "AMERICAN_AMERICA.WE8MSWIN1252"

strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
objRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValue
0 голосов
/ 19 марта 2012

Ваш компьютер использует переменные среды для запоминания определенных внутренних настроек приложений. Вы можете просмотреть их, нажав клавишу Windows (флаг) + Пауза / Прерывание, выбрав вкладку «Дополнительно», нажав кнопку «Переменные среды» и заглянув в раздел «Системные переменные».

С помощью объекта WshShell.Environment вы можете читать и записывать эти переменные:

Option Explicit
dim wshshell, EnvVar
set WshShell = WScript.CreateObject("WScript.Shell")

Dim oEnv: Set oEnv = WshShell.Environment("PROCESS") 

' This shows you all environment variables in your system:    
For each EnvVar in oEnv
    msgbox EnvVar
Next

' This shows you a particular environment variable:
msgbox oEnv.item("OS")

' And this sets a particular environment variable:
oEnv.Item("NLS_LANG") = "AMERICAN_AMERICA.WE8MSWIN1252"  

NLS_LANG - это параметр, используемый Oracle и задающий культурные параметры. Установив для него значение AMERICAN_AMERICA.WE8MSWIN1252, вы сообщаете своей реализации Oracle, какую культуру вы хотите использовать в вашей конкретной системе (помните, что переменные среды зависят от ПК). Вы можете найти больше информации об этом на net .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...