2015-03-13 2 views
1

У меня есть логарифмический один лайнер, который выводится в базе данных SQL Server.LogParser SQL Server драйвер windows 2012 x64

У меня была проблема преобразования между меткой logparser timestamp и SQL Server date(7). Я решил эту проблему, указав драйвер

-driver "sql server native client 10.0" 

Вот вся Oneliner:

LogParser "select to_date(to_timestamp('2015-03-13','yyyy-MM-dd')) AS REQ_DATE_DT, count(*) as REQ_REQUESTS_NU, 5 INTO MyTable from \\myServer\MyIISlog.log where time >= '12:00:00' and time <='14:59:59' " -i:IISW3C -o:SQL -createTable:OFF -server:MyServer\MyInstance -database:MyDB -username:myUser -password:MyPass -driver "sql server native client 10.0" 

Эта команда хорошо работает на моей машине Дев (Windows 7 x64, SQL Server Management Studio установлена). Теперь я хочу, чтобы запустить его с сервера сценариев (окна 2012r2 без SSMS)

Если я запускаю ту же команду, у меня есть следующее сообщение об ошибке:

Task aborted.
Error connecting to ODBC Server
SQL State: IM002
Native Error: 0
Error Message: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

Если я изменю «нативный клиент SQL Server 10.0» в «SQL Server», у меня такая же ошибка.

Если я опустить -driver часть SQL-сервера У меня есть сообщение об ошибке, новообращенный обычной

SQL table column "REQ_DATE_DT" data type is not compatible with SELECT clause item "REQ_DATE_DT" (type TIMESTAMP)

Таким образом, сервер БД доступен и может быть запрошена с учетными данными, которые я дал.

Я установил драйверы odbc из microsoft msi и они отображаются как в ODBC Data Source Administrator x32, так и x64.

Я попытался Odbc сервер 10 (SQL Server 2008 R2) и 11 (SQL Server 2012)

Что я упускаю?

EDIT 1:

Я проверил установки нескольких SQL функций без успеха

  • SQLNCLI, sqlCmdLnUtils и SharedManagementObjects (x64). Я добавил путь к sqlcmd.exe в мой $ Path. Проблема все еще существует, я могу запустить sqlcmd, а «Odbc Data Source» показывает драйвер SQL Server 2008 (x86 и x64).
  • Я установил еще несколько функций без успеха. Вот список компонента, который я установил (x64): Утилиты командной строки SQL 2008, объекты управления, собственный клиент, объекты управления репликацией, SQLXML 4.0 с пакетом обновления 1 (SP1), типы среды CLR для SQL Server, расширения Powershell для SQL Server 2008. Все это x64 функции.
  • После установки материала всего сервера SQL (включая SSMS, кли ...) Я всегда сталкиваюсь с теми же ошибками

Попробует на других серверах, но я думаю, что это проблема, связанная либо только x64 SQL Native клиент или окна 2012r2 x64 ...

ответ

0

мне удалось решить вокруг проблемы, используя опцию -oConnString LogParser вместо -driver -server -database ...:

LogParser "select to_date(to_timestamp('2015-03-13','yyyy-MM-dd')) AS REQ_DATE_DT, count(*) as REQ_REQUESTS_NU, 5 INTO MyTable from \\myServer\MyIISlog.log where time >= '12:00:00' and time <='14:59:59' " -i:IISW3C -o:SQL -createTable:OFF -oConnString:"Driver={SQL server native client 10.0};server=MyServer;database=MyDB;uid=MyUser;pwd=MyUser;" 

Из-за этого обходного пути, я думаю, что исходная задача является вопросом ODBC x86 и x64.

Вот некоторые вопросы, которые помогли мне:

0

Возможно, вам необходимо установить собственный клиент SQL Server (который не совпадает с драйвером ODBC), который можно найти по адресу https://msdn.microsoft.com/en-us/data/ff658533.aspx?f=255&MSPPError=-2147217396.

+0

Итак, я удалил все функции SQL 2008/2008R2/2012 я имел. Затем я установил sqlncli, sqlCmdLnUtils и SharedManagementObjects (x64). Я добавил путь к sqlcmd.exe в мой $ Path. Проблема все еще существует, я могу запустить sqlcmd, а «Odbc Data Source» отображает драйвер SQL Server 2008 (x86 и x64). Я попытаюсь установить дополнительные функции с SqlServer 2008 SP3. –

+0

Я установил еще несколько функций без успеха. Ниже приведен список компонентов, которые я установил (x64): Утилиты командной строки SQL 2008, объекты управления, собственный клиент, объекты управления репликацией, SQLXML 4.0 с пакетом обновления 1 (SP1), типы среды CLR для SQL Server, расширения Powershell для SQL Server 2008. Все это x64 функции. Интересно, может ли LogParser (x86) взаимодействовать с родным клиентом x64. Я думаю, что моим следующим шагом будет установка полных ssms на сервере ... –

+0

После установки всего содержимого сервера sql (включая ssms, cli ...) я всегда сталкиваюсь с той же ошибкой «[Microsoft] [ODBC Driver Manager] Имя источника данных не найдено, а драйвер по умолчанию не указан ». Я попробую на других серверах, но я думаю, что это проблема с окнами 2012r2 x64 ... –