Solved

Problem using sp_OACreate to create a text file in SQL server 2005

Posted on 2008-10-01
4
666 Views
Last Modified: 2009-01-05
I am using the below code to create a log file at remote machine in SQL server 2005.

I am able to create a file successfully using the same code on SQL server 2000 but the file is not getting created in SQL server 2005.
ALTER PROCEDURE GEGR_SPODA_SHIP_RECV_temp  @param1 varchar(10) = 'DEV'									                  
AS
declare
@vchrFile VARCHAR(1000) ,
	@lv_string Varchar(8000),
	@CmdTxt Varchar(8000),
	@vchrText Varchar(8000),
        @vchrFileID INT ,
 	@FS INT ,
 	@RC INT ,
	@DBID Int,
        @DBNAME VarChar(128)
 
SELECT @vchrFile = 'C:\cmmsdevdata\Log\Temp.txt'
EXECUTE @RC = sp_OACreate 'Scripting.FileSystemObject', @FS OUT
EXEC @RC = sp_OAMethod @FS , 'OpenTextFile' , @vchrFileID OUT , @vchrFile , 8 , -1
set @vchrText ='Text'
EXEC @RC = sp_OAMethod @vchrFileID, 'WriteLine', Null , @vchrText
EXECUTE @RC = sp_OADestroy @vchrFileID
EXECUTE @RC = sp_OADestroy @FS 
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO
 
 
Can someone help me with this.

Open in new window

0
Comment
Question by:kavya_deepthi
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 25

Expert Comment

by:jogos
ID: 22613037
When procedure runs the file path must be from the point of view of the SQL2005 instance, maybe that's diffrent between your SQL2000 and SQL2005.
Also the credentials to write could be diffrent, so it could be possible it runs when you start the procedure in a query window with your credentials and it fails when it runs with the credentials of SQL*Agent.
0
 

Author Comment

by:kavya_deepthi
ID: 22613218
When i am creating the file on SQL server2005..i am giving a different path accordingly.So that should not be the problem
0
 
LVL 25

Accepted Solution

by:
jogos earned 500 total points
ID: 22613379
The second part of my comment is about credentials, follow the link for an example of what could be the problem.  SQL2005 on diffrent server? Other default-settings sql-instance as the actual in 2000 instance. Other 'User' which owns the process that runs....

http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SQL-Server-2005/Q_22479836.html

Mostly when something doesn't work there is some error-message. Not always automaticly (ex SQL*Agent job -> option to log in eventvwr or to put output jobstep in a logfile.
0

Featured Post

How our DevOps Teams Maximize Uptime

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us. Read the use case whitepaper.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
The Delta outage: 650 cancelled flights, more than 1200 delayed flights, thousands of frustrated customers, tens of millions of dollars in damages – plus untold reputational damage to one of the world’s most trusted airlines. All due to a catastroph…
Via a live example, show how to shrink a transaction log file down to a reasonable size.
Via a live example, show how to setup several different housekeeping processes for a SQL Server.

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question