Sqlplus script to run all *.sql files returned by snv diff --summarize
Hi,
Is there a way to write a sqlplus script which will ask for a directory (or input from an svn diff --summarize) as in input param , then loop recursively through all files returned and run them from within as: @filename.sql ?
Getting it to work with svn diff would be the icing on the cake.
Thanks,
JGP
Or maybe like this:
REM Script name: deploy_all.cmd
REM Parameter 1: Schema name
@echo off
set schema=%1
echo -- Scripts to execute:
echo set define ~
echo def target_schema_name=~1
echo alter session set current_schema=~~target_schema_name;
for /F "tokens=1* " %%g in ('svn diff -r 14830:head --summarize') do (
for /F "tokens=1* delims=. " %%k in ("%%h") do (if [%%l] equ [sql] echo @%%k.%%l)
) >deploy_all.sql
type deploy_all.sql
sqlplus usrid/pw @deploy_all.sql %schema%PS: Even to execute everything from SQLPLUS, you still would need to create a temporary file with the list of commands.
Something like this:
alter session set current_schema=&&target_schema_name;
host "Windoze script w/command to create list of files to execute"
@created_sql_file.sql
Similar Messages
-
Running all *.sql files in one go
Hi All,
Can anyone help me in running all *.sql files in specific folder in one go??Go to Form Edit mode, enter the Fields list, press Ctrl+A, then Delete.
-
Getting return value from sqlplus script while running a unix job
I am trying to run a unix script that calls sqlplus. The following code outlines the unix/sql code that I trying to execute:
return_count=`sqlplus $ORACLE_ID/$ORACLE_PWD@$ORACLE_SID <<EOF | grep '^RETURN_VAL' | sed 's/^RETURN_VAL//'
SET SERVEROUTPUT ON
VARIABLE ReturnValue NUMBER
EXEC :ReturnValue := 1
BEGIN
UPDATE seq_control_nbr
SET table_seq_nbr = table_seq_nbr + 1,
last_updt_dttmstp = systimestamp,
last_updt_user_id = 'ECVMSONS'
WHERE table_key = 'ONSTAR';
IF SQL%ROWCOUNT = 1 THEN
COMMIT;
:ReturnValue := 0;
ELSE
ROLLBACK;
:ReturnValue := 99;
END IF;
DBMS_OUTPUT.PUT_LINE ('RETURN_VAL '||:ReturnValue);
END;
EXIT
EOF`
The above outlined sqlplus script does run because the values on the table are updated. However, I cannot get the value of ReturnValue to be displayed, so it can be returned to the unix script.
Any ideas?ok do the following:-
return_count=`sqlplus $ORACLE_ID/$ORACLE_PWD@$ORACLE_SID <<EOF
SET SERVEROUTPUT ON
whenever OSERROR exit 1
whenever SQLERROR exit 2
UPDATE seq_control_nbr
SET table_seq_nbr = table_seq_nbr + 1,
last_updt_dttmstp = systimestamp,
last_updt_user_id = 'ECVMSONS'
WHERE table_key = 'ONSTAR';
EXIT
EOF`
rowsupdated=`echo $return_count|cut -f1 -d' '`
echo "Rows updated =" $rowsupdated
retcode=`echo $?`
case "$retcode" in
0) echo "Update executed successfully on " ;;
1) echo "Update failed OSERROR ";;
2) echo "Update failed SQLError " ;;
*) echo "Update failed - Unknown Error ";;
esac -
Bat file execute all *.sql files in a folder
Hi all,
How to write a *.bat file to execute all *.sql files in a folder?
Because have about 20 *.sql file in a folder. There are used to fix data in my database. The number of *.sql file increases day by day. So I want to write a *.bat file to execute all *.sql file in the folder. Since I just run this *.bat file.
Mai Thanh Hải.user545846 wrote:
Hi
I have done this many times. can guide you. :)And did it fail to work all the times you tried it?
c:\>type test1.sql
select 1 from dual;
exit
c:\>type test2.sql
select 2 from dual;
exit
c:\>sqlplus scott/tiger@testdb @c:\test*.sql
SQL*Plus: Release 10.2.0.3.0 - Production on Thu Aug 6 12:37:04 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SP2-0556: Invalid file name.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining optionsWildcards in SQL*Plus filenames don't work. So why do you suggest that?
Better is to use the DOS command FOR...
c:\>for %i in (test*.sql) do sqlplus scott/tiger@testdb @%i
c:\>sqlplus scott/tiger@testdb @test1.sql
SQL*Plus: Release 10.2.0.3.0 - Production on Thu Aug 6 12:38:06 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
1
1
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
c:\>sqlplus scott/tiger@testdb @test2.sql
SQL*Plus: Release 10.2.0.3.0 - Production on Thu Aug 6 12:38:06 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
2
2
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
c:\>... although even better would be to proceduralise the SQL into packages/procedures on the database and have just a single procedure call do all the work. -
How to run the .sql file in sql prompt?
i want to run the .sql file in sql prompt
Hi,
You can navigate to the directory where the .sql files is stored and launch the SQL Prompt.
After you login, you can run your script like this :
SQL>@my_script.sql;
Regards,
Sandeep -
Script to open all PST files in a directory and open with Outlook.
Hi! I am looking for a script that opens all PST files in a directory, opens it in outlook, and writes to a log to see if it completed correctly. I'm new to VBscript and just want to see how the script would be written.
Thank you!!Thank you for all the input! JRV, I went through the repository and couldn't find anything about importing into Outlook. I will use it for future references and I appreciate you directing me there.
Grant, I need to be able to locate all PST files within a directory, not point it to a specific pst. I also need it written to a log file. Here is what I have...Don't laugh, I'm very new...
const ForAppending = 8
set objTextFile = objFSO.OpenTextFile ("C:\Users\jimmy.nguyen\Desktop\Lucky.txt", ForAppending, True)
set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
strCommand = "C:\Program Files (x86)\Microsoft Office\Office12\outlook.exe"
Set objExecObject = objShell.Exec(strCommand)
wscript.sleep 4000
Set myOlApp = CreateObject("Outlook.Application")
Set myNS = myolapp.GetNamespace("MAPI")
myNS.AddStore "objfile.name"
Sub ShowSubFolders(fFolder)
Set objFolder = objFSO.GetFolder(fFolder.Path)
Set colFiles = objFolder.Files
For Each objFile in colFiles
If UCase(objFSO.GetExtensionName(objFile.name)) = "pst" Then
objFile.Name
End If
Next
For Each Subfolder in fFolder.SubFolders
ShowSubFolders(Subfolder)
Next
End Sub
strResults = ShowSubFolders(fFolder)
objTextFile.WriteLine(strResults)
objTextFile.Close -
Oracle 9i export error after running catexp.sql file
After running catexp.sql file in oracle 9i 9.2.0.7.0 as system user,it gives the following error while logging
ORA-04020: deadlock detected while trying to lock object SYS.DBMS_STANDARD
please help me.............."catexp.sql" is to be run by SYS AS SYSDBA.
You'd have to cleanup any extra objects that you created in the SYSTEM account.
Why did you think that you needed to run "catexp.sql" ? Are you exporting using 9i exp against a 10g database or against a 9i database ? -
Java API for running entire ".sql" files on a remote DB ( mySQL or Oracle)?
Hi,
Would anyone happen to know if there's a java API for executing entire ".sql" files (containing several different SQL commands), on a remote database server ?
It's enough if the API works with MySQL and/or Oracle.
Just to demonstrate what i'm looking for:
Suppose you've created sql file "c:/test.sql" with several script lines:
-- test.sql:
insert into TABLE1 values(3,3);
insert into TABLE1 values(5,5);
create table TABLE2 (name VARCHER) ENGINE innoDB; -- MYSQL specific
Then the java API should look something like:
// Dummy java code:
String driver="com.mysql.jdbc.Driver";
String url= "jdbc:mysql://localhost:3306/myDb";
SomeAPI.executeScriptFile( "c:/test.sql", driver, url);
Thanks.No such a API, but it's easy to parse all sqls in a file, then run those command:
For instance:
import java.sql.*;
import java.util.Properties;
/* A demo show how to load some sql statements. */
public class testSQL {
private final static Object[] getSQLStatements(java.util.Vector v) {
Object[] statements = new Object[v.size()];
Object temp;
for (int i = 0; i < v.size(); i++) {
temp = v.elementAt(i);
if (temp instanceof java.util.Vector)
statements[i] = getSQLStatements( (java.util.Vector) temp);
else
statements[i] = temp;
return statements;
public final static Object[] getSQLStatements(String sqlFile) throws java.
io.IOException {
java.util.Vector v = new java.util.Vector(1000);
try {
java.io.BufferedReader br = new java.io.BufferedReader(new java.io.
FileReader(sqlFile));
java.util.Vector batchs = new java.util.Vector(10);
String temp;
while ( (temp = br.readLine()) != null) {
temp = temp.trim();
if (temp.length() == 0)
continue;
switch (temp.charAt(0)) {
case '*':
case '"':
case '\'':
// System.out.println(temp);
break; //Ignore any line which begin with the above character
case '#': //Used to begin a new sql statement
if (batchs.size() > 0) {
v.addElement(getSQLStatements(batchs));
batchs.removeAllElements();
break;
case 'S':
case 's':
case '?':
if (batchs.size() > 0) {
v.addElement(getSQLStatements(batchs));
batchs.removeAllElements();
v.addElement(temp);
break;
case '!': //Use it to get a large number of simple update statements
if (batchs.size() > 0) {
v.addElement(getSQLStatements(batchs));
batchs.removeAllElements();
String part1 = temp.substring(1);
String part2 = br.readLine();
for (int i = -2890; i < 1388; i += 39)
batchs.addElement(part1 + i + part2);
for (int i = 1890; i < 2388; i += 53) {
batchs.addElement(part1 + i + part2);
batchs.addElement(part1 + i + part2);
for (int i = 4320; i > 4268; i--) {
batchs.addElement(part1 + i + part2);
batchs.addElement(part1 + i + part2);
for (int i = 9389; i > 7388; i -= 83)
batchs.addElement(part1 + i + part2);
v.addElement(getSQLStatements(batchs));
batchs.removeAllElements();
break;
default:
batchs.addElement(temp);
break;
if (batchs.size() > 0) {
v.addElement(getSQLStatements(batchs));
batchs.removeAllElements();
br.close();
br = null;
catch (java.io.FileNotFoundException fnfe) {
v.addElement(sqlFile); //sqlFile is a sql command, not a file Name
Object[] statements = new Object[v.size()];
for (int i = 0; i < v.size(); i++)
statements[i] = v.elementAt(i);
return statements;
public static void main(String argv[]) {
try {
String url;
Object[] statements;
switch (argv.length) {
case 0: //Use it for the simplest test
case 1:
url = "jdbc:dbf:/.";
if (argv.length == 0) {
statements = new String[1];
statements[0] = "select * from test";
else
statements = argv;
break;
case 2:
url = argv[0];
statements = getSQLStatements(argv[1]);
break;
default:
throw new Exception(
"Syntax Error: java testSQL url sqlfile");
Class.forName("com.hxtt.sql.dbf.DBFDriver").newInstance();
//Please see Connecting to the Database section of Chapter 2. Installation in Development Document
Properties properties = new Properties();
Connection con = DriverManager.getConnection(url, properties);
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
//Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
// stmt.setMaxRows(0);
stmt.setFetchSize(10);
final boolean serializeFlag = false;//A test switch to serialize/deserialize the resultSet
ResultSet rs;
for (int i = 0; i < statements.length; i++) {
if (statements[i] instanceof java.lang.String) {
String temp = (java.lang.String) statements;
switch (temp.charAt(0)) {
case 'S':
case 's':
case '?':
System.out.println(temp);
rs = stmt.executeQuery(temp);
if (serializeFlag) {
// serialize the resultSet
try {
java.io.FileOutputStream fileOutputStream = new
java.io.FileOutputStream("testrs.tmp");
java.io.ObjectOutputStream
objectOutputStream = new java.io.
ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(rs);
objectOutputStream.flush();
objectOutputStream.close();
fileOutputStream.close();
catch (Exception e) {
System.out.println(e);
e.printStackTrace();
System.exit(1);
rs.close(); //Let the CONCUR_UPDATABLE resultSet release its open files at once.
rs = null;
// deserialize the resultSet
try {
java.io.FileInputStream fileInputStream = new
java.io.FileInputStream("testrs.tmp");
java.io.ObjectInputStream objectInputStream = new
java.io.ObjectInputStream(
fileInputStream);
rs = (ResultSet) objectInputStream.
readObject();
objectInputStream.close();
fileInputStream.close();
catch (Exception e) {
System.out.println(e);
e.printStackTrace();
System.exit(1);
ResultSetMetaData resultSetMetaData = rs.
getMetaData();
int iNumCols = resultSetMetaData.getColumnCount();
for (int j = 1; j <= iNumCols; j++) {
// System.out.println(resultSetMetaData.getColumnName(j));
/* System.out.println(resultSetMetaData.getColumnType(j));
System.out.println(resultSetMetaData.getColumnDisplaySize(j));
System.out.println(resultSetMetaData.getPrecision(j));
System.out.println(resultSetMetaData.getScale(j));
System.out.println(resultSetMetaData.
getColumnLabel(j)
+ " " +
resultSetMetaData.getColumnTypeName(j));
Object colval;
rs.beforeFirst();
long ncount = 0;
while (rs.next()) {
// System.out.print(rs.rowDeleted()+" ");
ncount++;
for (int j = 1; j <= iNumCols; j++) {
colval = rs.getObject(j);
System.out.print(colval + " ");
System.out.println();
rs.close(); //Let the resultSet release its open tables at once.
rs = null;
System.out.println(
"The total row number of resultset: " + ncount);
System.out.println();
break;
default:
int updateCount = stmt.executeUpdate(temp);
System.out.println(temp + " : " + updateCount);
System.out.println();
else if (statements[i] instanceof java.lang.Object[]) {
int[] updateCounts;
Object[] temp = (java.lang.Object[]) statements[i];
try {
for (int j = 0; j < temp.length; j++){
System.out.println( temp[j]);
stmt.addBatch( (java.lang.String) temp[j]);
updateCounts = stmt.executeBatch();
for (int j = 0; j < temp.length; j++)
System.out.println((j+1)+":"+temp[j]);
for (int j = 0; j < updateCounts.length; j++)
System.out.println((j+1)+":" +updateCounts[j]);
catch (java.sql.BatchUpdateException e) {
updateCounts = e.getUpdateCounts();
for (int j = 0; j < updateCounts.length; j++)
System.out.println((j+1)+":"+updateCounts[j]);
java.sql.SQLException sqle = e;
do {
System.out.println(sqle.getMessage());
System.out.println("Error Code:" +
sqle.getErrorCode());
System.out.println("SQL State:" + sqle.getSQLState());
sqle.printStackTrace();
while ( (sqle = sqle.getNextException()) != null);
catch (java.sql.SQLException sqle) {
do {
System.out.println(sqle.getMessage());
System.out.println("Error Code:" +
sqle.getErrorCode());
System.out.println("SQL State:" + sqle.getSQLState());
sqle.printStackTrace();
while ( (sqle = sqle.getNextException()) != null);
stmt.clearBatch();
System.out.println();
stmt.close();
con.close();
catch (SQLException sqle) {
do {
System.out.println(sqle.getMessage());
System.out.println("Error Code:" + sqle.getErrorCode());
System.out.println("SQL State:" + sqle.getSQLState());
sqle.printStackTrace();
while ( (sqle = sqle.getNextException()) != null);
catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace(); -
Shell script for calling an sql file
Hello, I would need your help in creating a ksh file. We have two ksh files. One for deletion the eim table and the other one is for running the eim job.
Ksh file for running the eim job is okay. But the ksh file running the delete sql is not. We were thinking that we may have some sort of mistake in the syntax could have caused the problem we experiencing now. Need your expertise to check it. Please?
Here’s the syntax we have.
#!/bin/sh
sqlplus -s <user>/<pwd>@dbname << EOF
@<folder-path>/sqlrun.sql
EXIT
ENDSQL
EXIT
When we run it against putty, nothing seems to happen as in no error message appears at all. It prove that the sql file did not execute in TOAD.
We tried the other way around, by putting the /dev/nu// as show below.
sqlplus -s <user>/<password>@DBNAME > /dev/null <<ENDOFSQL
still nothing happen.
Regardsuser10070712 wrote:
Hello, I would need your help in creating a ksh file. We have two ksh files. One for deletion the eim table and the other one is for running the eim job.
Ksh file for running the eim job is okay. But the ksh file running the delete sql is not. We were thinking that we may have some sort of mistake in the syntax could have caused the problem we experiencing now. Need your expertise to check it. Please?What does this have to do with APEX, which is the topic of this forum?
What is "eim"? Why have you chosen to post this here? -
Do we need run catbundle.sql file for new databases.
dear all,
i have doubt over execution of catbundle.sql or not?
scenario:
i have insatlled 10gr2 on rhel5 and applied patchset 4 (10.2.0.5) and applied Oracle® Database Patch 10248542 - 10.2.0.5.2 Patch Set Update
after this i have create fresh database.
now,
in Oracle® Database Patch 10248542 - 10.2.0.5.2 Patch Set Update document it has specified in belwo section
3.4 Post Installation Instructions for Databases Created or Upgraded after Installation of PSU 10.2.0.5.2 in the Oracle Home
These instructions are for a database that is created or upgraded after the installation of PSU 10.2.0.5.2.
You must execute the steps in Section 3.3.2, "Loading Modified SQL Files into the Database" for any new database only if it was created by any of the following methods:
Using DBCA (Database Configuration Assistant) to select a sample database (General, Data Warehouse, Transaction Processing)
Using a script that was created by DBCA that creates a database from a sample database
Cloning a database that was created by either of the two preceding methods, and if the steps in Section 3.3.2, "Loading Modified SQL Files into the Database" were not executed after PSU 10.2.0.5.2 was applied
Upgraded databases do not require any post-installation steps.
so do we need to run catbundle here or not.
since i have created fresh database after applying 10.2.0.5 PSU2 why does it required.
opatch output:
[oracle@RG615 ~]$ opatch lsinventory
Invoking OPatch 10.2.0.5.1
Oracle Interim Patch Installer version 10.2.0.5.1
Copyright (c) 2010, Oracle Corporation. All rights reserved.
Oracle Home : /prd/crm/swbcrmdb/usr/oracle/product/10.2.0/db_1
Central Inventory : /prd/crm/swbcrmdb/usr/oracle/oraInventory
from : /etc/oraInst.loc
OPatch version : 10.2.0.5.1
OUI version : 10.2.0.5.0
OUI location : /prd/crm/swbcrmdb/usr/oracle/product/10.2.0/db_1/oui
Log file location : /prd/crm/swbcrmdb/usr/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch2011-05-03_11-41-34AM.log
Patch history file: /prd/crm/swbcrmdb/usr/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch_history.txt
Lsinventory Output file location : /prd/crm/swbcrmdb/usr/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2011-05-03_11-41-34AM.txt
Installed Top-level Products (2):
Oracle Database 10g 10.2.0.1.0
Oracle Database 10g Release 2 Patch Set 4 10.2.0.5.0
There are 2 products installed in this Oracle Home.
Interim patches (1) :
Patch 10248542 : applied on Tue May 03 07:32:29 BST 2011
Unique Patch ID: 13292123
Created on 25 Dec 2010, 23:11:24 hrs PST8PDT
Bugs fixed:
6402302, 9713537, 8350262, 9949948, 8394351, 10327179, 8546356, 9711859
9714832, 9952230, 10248542, 8544696, 9963497, 9772888, 8664189, 10249537
7519406, 9952270, 8277300, 9726739
OPatch succeeded.Pl post the output of view DBA_REGISTRY_HISTORY - see MOS Doc 605795.1 (Introduction To Oracle Database catbundle.sql)
Was the database created using DBCA or manually using scripts ?
Srini -
I have an Script mostly that is generated by SSMS which works with-out issue on SQL Server 2008, but when I attempt to run it on a new fresh install of SQL Server 2012 I get an Msg 8631. Internal error: Server stack limit has been reached. Please look for
potentially deep nesting in your query, and try to simplify it.
The script itself doesn't seem to be all that deep or nested. The script is large 2600 lines and when I remove the bulk of the 2600 lines, it does run on SQL Server 2012. I'm just really baffled why something that SQL Server generated with very
few additions/changes AND that WORKS without issue in SQL Server 2008 R2 would suddenly be invalid in SQL Server 2012
I need to know why my script which is working great on our current SQL Server 2008 R2 servers suddenly fails and won't run on an new SQL Server 2012 server. This script is used to create 'bulk' Replications on a large number of DBs saving a tremendous
amount of our time doing it the manual way.
Below is an 'condensed' version of the script which fails. I have removed around 2550 lines of specific sp_addarticle statements which are mostly just copy and pasted from what SQL Management Studio 'scripted' for me went I when through the Replication
Wizard and told it to save to script.
declare @dbname varchar(MAX), @SQL nvarchar(MAX)
declare c_dblist cursor for
select name from sys.databases WHERE name like 'dbone[_]%' order by name;
open c_dblist
fetch next from c_dblist into @dbname
while @@fetch_status = 0
begin
print @dbname
SET @SQL = 'DECLARE @dbname NVARCHAR(MAX); SET @dbname = ''' + @dbname + ''';
use ['+@dbname+']
exec sp_replicationdboption @dbname = N'''+@dbname+''', @optname = N''publish'', @value = N''true''
use ['+@dbname+']
exec ['+@dbname+'].sys.sp_addlogreader_agent @job_login = N''DOMAIN\DBServiceAccount'', @job_password = N''secret'', @publisher_security_mode = 1, @job_name = null
-- Adding the transactional publication
use ['+@dbname+']
exec sp_addpublication @publication = N'''+@dbname+' Replication'', @description = N''Transactional publication of database
'''''+@dbname+''''' from Publisher ''''MSSQLSRV\INSTANCE''''.'', @sync_method = N''concurrent'', @retention = 0, @allow_push = N''true'', @allow_pull = N''true'', @allow_anonymous = N''false'', @enabled_for_internet
= N''false'', @snapshot_in_defaultfolder = N''true'', @compress_snapshot = N''false'', @ftp_port = 21, @allow_subscription_copy = N''false'', @add_to_active_directory = N''false'', @repl_freq = N''continuous'', @status = N''active'', @independent_agent = N''true'',
@immediate_sync = N''true'', @allow_sync_tran = N''false'', @allow_queued_tran = N''false'', @allow_dts = N''false'', @replicate_ddl = 1, @allow_initialize_from_backup = N''true'', @enabled_for_p2p = N''false'', @enabled_for_het_sub = N''false''
exec sp_addpublication_snapshot @publication = N'''+@dbname+' Replication'', @frequency_type = 1, @frequency_interval = 1, @frequency_relative_interval = 1, @frequency_recurrence_factor = 0, @frequency_subday = 8,
@frequency_subday_interval = 1, @active_start_time_of_day = 0, @active_end_time_of_day = 235959, @active_start_date = 0, @active_end_date = 0, @job_login = N''DOMAIN\DBServiceAccount'', @job_password = N''secret'', @publisher_security_mode = 1
-- There are around 2400 lines roughly the same as this only difference is the tablename repeated below this one
use ['+@dbname+']
exec sp_addarticle @publication = N'''+@dbname+' Replication'', @article = N''TABLE_ONE'', @source_owner = N''dbo'', @source_object = N''TABLE_ONE'', @type = N''logbased'', @description = null, @creation_script =
null, @pre_creation_cmd = N''drop'', @schema_option = 0x000000000803509F, @identityrangemanagementoption = N''manual'', @destination_table = N''TABLE_ONE'', @destination_owner = N''dbo'', @vertical_partition = N''false'', @ins_cmd = N''CALL sp_MSins_dboTABLE_ONE'',
@del_cmd = N''CALL sp_MSdel_dboTABLE_ONE'', @upd_cmd = N''SCALL sp_MSupd_dboTABLE_ONE''
EXEC sp_executesql @SQL
SET @dbname = REPLACE(@dbname, 'dbone_', 'dbtwo_');
print @dbname
SET @SQL = 'DECLARE @dbname NVARCHAR(MAX); SET @dbname = ''' + @dbname + ''';
use ['+@dbname+']
exec sp_replicationdboption @dbname = N'''+@dbname+''', @optname = N''publish'', @value = N''true''
use ['+@dbname+']
exec ['+@dbname+'].sys.sp_addlogreader_agent @job_login = N''DOMAIN\DBServiceAccount'', @job_password = N''secret'', @publisher_security_mode = 1, @job_name = null
-- Adding the transactional publication
use ['+@dbname+']
exec sp_addpublication @publication = N'''+@dbname+' Replication'', @description = N''Transactional publication of database
'''''+@dbname+''''' from Publisher ''''MSSQLSRV\INSTANCE''''.'', @sync_method = N''concurrent'', @retention = 0, @allow_push = N''true'', @allow_pull = N''true'', @allow_anonymous = N''false'', @enabled_for_internet
= N''false'', @snapshot_in_defaultfolder = N''true'', @compress_snapshot = N''false'', @ftp_port = 21, @allow_subscription_copy = N''false'', @add_to_active_directory = N''false'', @repl_freq = N''continuous'', @status = N''active'', @independent_agent = N''true'',
@immediate_sync = N''true'', @allow_sync_tran = N''false'', @allow_queued_tran = N''false'', @allow_dts = N''false'', @replicate_ddl = 1, @allow_initialize_from_backup = N''true'', @enabled_for_p2p = N''false'', @enabled_for_het_sub = N''false''
exec sp_addpublication_snapshot @publication = N'''+@dbname+' Replication'', @frequency_type = 1, @frequency_interval = 1, @frequency_relative_interval = 1, @frequency_recurrence_factor = 0, @frequency_subday = 8,
@frequency_subday_interval = 1, @active_start_time_of_day = 0, @active_end_time_of_day = 235959, @active_start_date = 0, @active_end_date = 0, @job_login = N''DOMAIN\DBServiceAccount'', @job_password = N''secret'', @publisher_security_mode = 1
-- There are around 140 lines roughly the same as this only difference is the tablename repeated below this one
use ['+@dbname+']
exec sp_addarticle @publication = N'''+@dbname+' Replication'', @article = N''DB_TWO_TABLE_ONE'', @source_owner = N''dbo'', @source_object = N''DB_TWO_TABLE_ONE'', @type = N''logbased'', @description = null, @creation_script
= null, @pre_creation_cmd = N''drop'', @schema_option = 0x000000000803509D, @identityrangemanagementoption = N''manual'', @destination_table = N''DB_TWO_TABLE_ONE'', @destination_owner = N''dbo'', @vertical_partition = N''false''
EXEC sp_executesql @SQL
fetch next from c_dblist into @dbname
end
close c_dblist
deallocate c_dblist
George P Botuwell, ProgrammerHi George,
Thank you for your question.
I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated.
Thank you for your understanding and support.
If you have any feedback on our support, please click
here.
Allen Li
TechNet Community Support -
Issue with running PL/SQL function returning Sql query
hi, I am trying to create a report region by using the option of PL/SQL function returning sql query.
I notice that it's very slow for the report region page to show up. In my PL/SQL function body, there are only 3 steps, first update all the 10 rows of varchar2 fields to null,then insert values to those fields, then select all from the table to show report results. It takes more than 5 minitues for the page to load up, how ever, if i run those steps in SQL*Plus, it only takes a couple of seconds to finish. Any suggestions?
Thanks,
ginaSergio, the codes are as followed,
Declare
q varchar2(32767); -- query
Begin
q := 'select "ID",'||
'"ENTRY NAME","TOTAL","#CM","%CM","#CA",'||
'"%CA", from Info_table';
update info_table
set "TOTAL" = '',
"#CM" = '',
"%CM" = '',
"#CA" ='',
"%CA"=''
where "ID"<=10;
// set all data in column Total to null,there is only 10 rows in the table
update info_Table set Total = vTotal,
"#CM" = vCM
(those variables hold user key-in Text filed value)
where ID = 1;
return q;
End; -
How to Run a .sql file from simple java class
How to execute a .sql file consisting of Complex Queries,procedures through simple java class.
The queries may have different delimiters,queries independant of each other.
I am able to do with Specific De-limiter.But I need in such a way that there should not be any
Constraints. Since My .sql may Contain different De-limiters.
If any one can Suggest Some Solution.
It will be Great Help.
regards
AnilCheck out ibatis script runner, it' a third party library but quite handy for running sql files...
m -
I have a SQL file named myfile.sql which contains something as follows:-Declare
Begin
insert into alphaweb values (1);
end;
.What I am looking for is a way to execute this through a java code. e.g. something like reading the String from the the file and executing it.
public static boolean executeScript(File script, Connection conn) {
boolean success = true;
success = script.exists();
if (success) {
System.out.println("ES::READING SCRIPT:" + script.getAbsolutePath());
StringBuffer buffer = null;
try {
buffer = readFileAsString("myfile.sql");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}//new StringBuffer();
//success = readScript(script, buffer);
if (null!=buffer) {
try {
String creationScript = buffer.toString();
Statement st = conn.createStatement();
int start = 0;
int end = 0;
while (end != -1 && start < creationScript.length()) {
end = creationScript.lastIndexOf ('/');
if (end != -1) {
System.out.println(creationScript.substring(start, end));
st.executeUpdate(creationScript.substring(start, end));
start = end + 2; // 2 is the length of "GO"
st.close();
} catch (Exception e) {
success = false;
System.out.println(e);
} else {
System.out.println("ES::SCRIPT FILE DOES NOT EXISTS");
success = false;
return success;
}But it is failing any ideas if it is possible and what am I doing wrong?I believe the sample that you provided only has a single statement in it.
Do the files only contain one block like that?
If yes then you should be able to process them as a single statement. Just drop the terminator at the end (maybe wrap it in another block statement...)
If not then your solutions are.
1. Parse the file yourself.
2. Use the oracle command line tool and feed it to that. -
Is it possible to automatically run a .jar file from an .html page? Here is my issue:
I have a software script for athletes that runs from a jar file. I need to create an index.htm file in order to use the compiler software that I am using.
So I am trying to figure out if there is a script to put in the index file that will immediately run the main .jar file. I don't want the viewer (athlete) to even see the index file so the only code I will put in there will be to run the .jar file.
Is this possible?
thank you!This all sounds very confused.
There are applets (Java applications embedded in a webpages).
There are stand alone applications (Java applications that are by themselves no web page required)
There are servlets ( Java applications that produce HTML pages [and other web content])
This bit about my compiler needs it makes no sense. And I don't know which of the above you have or are trying to be honest. I will tell you this, it is one of them (probably the first two).
So which one of those are you trying to make? If you say none of them then please think harder because that is not a valid answer.
Maybe you are looking for
-
TS1717 iTunes won't open; only a small box that says "New iTunes Library"
When I try to open iTunes, it simple brings up a small box that says "New iTunes Library" and gives me no option but to exit out. What has happened? I installed the newest version of iTunes a few days ago onto my computer, and this morning was the fi
-
Invisible "file" in trash?
Hey there, So for the last couple of weeks I have had a "file" in my trash that won't delete. Its not a huge deal, I just want to try an figure out what it is/how it got there/how to get rid of it. The trash info says that there is one item that is t
-
Hi, I'm using a JavaBean from a JSP with Tomcat 4.0.6, Tomcat can found the three files, but Im getting an error, and I think the code is good, because is an example from a book. I have 3 files: - beans.html -->Root - beans.jsp
-
Why are photos so blurry inside and so clear outside
My photos that I take inside are most of the time blurry and the ones I take outside are not. Why is this? How can I make the photos not blurry?
-
15.4" Screen / 1440x900 Resolution Enough?
Is the 15.4" screen, run on 1440x900 resolution, on the MacBook Pro enough space to run Logic Pro 7 more than comfortably?