2015-03-13 60 views
1

我有一個logparser一個班輪在SQL Server數據庫輸出。LogParser SQL Server驅動程序的窗口2012 x64

我有logparser時間戳和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的64位,安裝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 Server的一部分,我有通常的轉換錯誤消息

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

所以數據庫服務器可達,可與我給的憑證進行查詢。

我從microsoft msi安裝了odbc驅動程序,它們都出現在ODBC數據源管理器x32和x64中。

我試圖ODBC服務器10(SQL Server 2008 R2中)和11(SQL Server 2012中)

我缺少什麼?

EDIT 1:

我測試沒有成功

  • SQLNCLI,sqlCmdLnUtils和SharedManagementObjects(64)安裝多個SQL特性。我將sqlcmd.exe的路徑添加到我的$ Path中。問題仍然存在,我可以運行sqlcmd和「Odbc Data Source」顯示sql server 2008驅動程序(x86和x64)。
  • 我安裝了一些沒有成功的功能。以下是我安裝的組件列表(x64):SQL 2008命令行實用程序,管理對象,本機客戶端,複製管理對象,SQLXML 4.0 SP1,SQL Server系統CLR類型,SQL Server 2008的Powershell擴展。所有這些都是x64特徵。
  • 安裝整個SQL Server的東西(包括SSMS,CLI ...)後,我總是遇到同樣的錯誤

我會嘗試在其他服務器上,但我認爲這是涉及要麼只有64位的SQL本機的一個問題客戶端或windows 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 Native Client(與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安裝更多功能。 – 2015-03-16 11:16:45

+0

我安裝了一些功能沒有成功。以下是我安裝的組件列表(x64):SQL 2008命令行實用程序,管理對象,本機客戶端,複製管理對象,SQLXML 4.0 SP1,SQL Server系統CLR類型,SQL Server 2008的Powershell擴展。所有這些都是x64特徵。我想知道LogParser(x86)是否可以與x64本機客戶端進行交互。我想我的下一步將是在服務器上安裝完整的ssms ... – 2015-03-16 11:28:11

+0

安裝完整個sql server的東西(包括ssms,cli ...)後,我總是遇到同樣的錯誤「[Microsoft] [ODBC Driver Manager]數據源名稱未找到,未指定默認驅動程序「。我會嘗試在其他服務器上,但我認爲這是一個涉及Windows 2012r2 x64的問題... – 2015-03-17 12:30:17

相關問題