Необходимо было бы сделать что-то как
declare @col1 as varchar(128)
declare @col2 as varchar(128)
declare @sq1 as varchar(8000)
select @col1 = column_name from information_schema.columns where table_name = 'tablename'
and ordinal_position = @position
select @col2 = column_name from information_schema.columns where table_name = 'tablename'
and ordinal_position = @position2
set @sql = 'select ' + col1 ',' + col2 'from tablename'
exec(@sql)
Со страницы Википедии :
% ProgramFiles%
Эта переменная указывает на каталог Program Files, в котором хранятся все установленные программы Windows и другие. По умолчанию в англоязычных системах используется C: \ Program Files. В 64-разрядных выпусках Windows (XP, 2003, Vista) также есть% ProgramFiles (x86)%, по умолчанию это C: \ Program Files (x86), и% ProgramW6432%, по умолчанию C: \ Program Files. Сам% ProgramFiles% зависит от того, является ли процесс, запрашивающий переменную среды, 32-разрядным или 64-разрядным (это вызвано перенаправлением 64-разрядной версии Windows-on-Windows).
Итак, чтобы получить только C: \ Program Файлы, очевидно, вы хотите проверить % ProgramW6432%
.
Вы используете 32-разрядную версию интерпретатора Python. При использовании 32-разрядного программного обеспечения WOW64 создаст новую среду с собственными папками и подстановками.
Вы можете понять, о чем я говорю, просто запустив 64-разрядную и 32-разрядную версии командной строки:
64-разрядный cmd.exe:
C:\Documents and Settings\Administrator>set prog
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
32-разрядный cmd.exe:
C:\WINDOWS\SysWOW64>set prog
ProgramFiles=C:\Program Files (x86)
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
Как видно из второго отрывка выше, для получения 64-разрядных программных файлов необходимо использовать Переменная среды ProgramW6432
.
Другой подход, однако, может решить и другие проблемы, которые могут возникнуть в будущем (особенно с настройками реестра!): Просто используйте 64-битную версию Python - даже если я не знаю, где чтобы загрузить 64-битную версию 2.4.
Вы можете установить Python 2.5. 4 и попробовать еще раз? ОБНОВЛЕНИЕ: я имел в виду версию 2.5.4 для x64. AFAIK 2.4 был доступен только для Windows x86 и IA64, но не для x64.
Я запускаю 2.5.4 x64 на Win 7 x64 и не получаю того же результата, но я не уверен, что проблема в Python или Vista в вашем случае.
Python 2.5.4 (r254:67916, Dec 23 2008, 15:19:34) [MSC v.1400 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print os.environ["ProgramFiles"]
C:\Program Files
>>> print os.environ["ProgramFiles(x86)"]
C:\Program Files (x86)
>>>