win脚本向表中插入数据

您好,我想咨询一个问题,就是win脚本向ORACLE数据库表中插入条数据应该怎么做,可以给一个思路吗,或者我该搜索什么关键词,希望大lao解答,好人一出平安

你得在windows命令行下使用oracle命令行工具,连接上数据库,然后执行相应的sql。
可以使用以下命令:

sqlplus username/password@database @your_sql_script.sql

或者

sqlplus username/password@database << EOF
your_sql_statement
exit;
EOF

其中username是你的Oracle用户名,password是你的密码,database是你要连接的数据库名称或者连接字符串,your_sql_script.sql是你要执行的SQL脚本文件名,your_sql_statement是要执行的SQL语句,任选一种执行SQL的方式。
用户名等可以使用变量,通过%变量名%引用变量值,如:

set username=your_username
set password=your_password
set database=your_database
sqlplus %username%/%password%@%database%

上述命令可以保存在bat批处理脚本文件中执行。在批处理脚本中,使用@echo off命令可以让执行过程更加简洁和清晰,避免在输出结果中出现不必要的信息(例如密码),使用@echo off命令也可以保护这些信息不被显示在命令行窗口中。

chatgpt:参考一下:不喜勿喷

Dim cn
Set cn = CreateObject("ADODB.Connection")
cn.ConnectionString = "Driver={Oracle ODBC Driver};Server=<server_name>;Uid=<username>;Pwd=<password>"
cn.Open

Dim cmd
Set cmd = CreateObject("ADODB.Command")
cmd.ActiveConnection = cn
cmd.CommandText = "INSERT INTO <table_name> (col1, col2, col3) VALUES (?, ?, ?)"
cmd.CommandType = adCmdText
cmd.Parameters.Append cmd.CreateParameter("@p1", adVarChar, adParamInput, 20, "value1")
cmd.Parameters.Append cmd.CreateParameter("@p2", adVarChar, adParamInput, 20, "value2")
cmd.Parameters.Append cmd.CreateParameter("@p3", adVarChar, adParamInput, 20, "value3")
cmd.Execute

cn.Close


上面的代码中,使用ADODB.Connection对象连接ORACLE数据库,其中是ORACLE服务器的名称或IP地址,和是连接数据库的用户名和密码。

然后使用ADODB.Command对象执行INSERT语句,向表中插入一条数据,col1、col2和col3是表的列名,对应的参数值通过ADODB.Command对象的Parameters属性传递,其中@p1、@p2和@p3是参数名,adVarChar是参数类型,adParamInput是参数的输入类型,20是参数值的长度,最后三个参数分别是要插入的值。

需要注意的是,需要安装ORACLE ODBC驱动程序,才能使用ODBC连接ORACLE数据库。另外,还需要根据实际情况修改代码中的连接字符串、表名、列名和参数值等参数。

以下回答引用自chatGpt, 有用的话,请采纳哇!!!
Windows脚本中连接Oracle数据库可以使用ODBC或OLE DB驱动程序

  1. 安装相应的Oracle客户端,例如ODBC驱动程序或OLE DB驱动程序。
  2. 在Windows系统上创建ODBC数据源,这可以在“控制面板”->“管理工具”->“ODBC数据源”中完成。
  3. 在脚本中使用ODBC或OLE DB连接Oracle数据库,可以使用VBScript或PowerShell编写脚本,示例代码如下:

使用ODBC驱动程序:

mathematicaCopy codeSet objConnection = CreateObject("ADODB.Connection")
objConnection.ConnectionString = "DSN=myDSN;Uid=myUsername;Pwd=myPassword;"
objConnection.Open

strSQL = "INSERT INTO myTable (column1, column2) VALUES ('value1', 'value2')"
objConnection.Execute(strSQL)

objConnection.Close

使用OLE DB驱动程序:

mathematicaCopy codeSet objConnection = CreateObject("ADODB.Connection")
objConnection.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=myDSN;User Id=myUsername;Password=myPassword;"
objConnection.Open

strSQL = "INSERT INTO myTable (column1, column2) VALUES ('value1', 'value2')"
objConnection.Execute(strSQL)

objConnection.Close

在上述示例代码中,myDSN是ODBC数据源的名称,myUsername和myPassword是连接数据库的用户名和密码,myTable是要插入数据的表名,column1和column2是表中的列名,value1和value2是要插入的数据。

希望这个思路对您有所帮助。