Solved

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

Posted on 2008-10-01
4
640 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
  • 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

Zoho SalesIQ

Hassle-free live chat software re-imagined for business growth. 2 users, always free.

Question has a verified solution.

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

Suggested Solutions

Introduction In my previous article (http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SSIS/A_9150-Loading-XML-Using-SSIS.html) I showed you how the XML Source component can be used to load XML files into a SQL Server database, us…
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 extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

911 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now